| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
an unsupported byte size)
Also add a test sequence for it.
rdar://problem/10876841
llvm-svn: 150766
|
| |
|
|
|
|
|
|
|
| |
DataExtractor::Dump() needs to supply the correct cursor when delegating to the child DataExtractor::Dump() calls.
Add a regression test file.
rdar://problem/10872908
llvm-svn: 150729
|
| |
|
|
|
|
|
|
|
| |
class/event bit set.
Use this to allow the lldb Driver to emit notifications for breakpoint modifications.
<rdar://problem/10619974>
llvm-svn: 150665
|
| |
|
|
|
|
|
|
|
| |
that take formats or sizes.
Also document that scalar expression results can be used in any command using
expressions inside backticks.
llvm-svn: 150652
|
| |
|
|
|
|
| |
told to look in a namespace.
llvm-svn: 150590
|
| |
|
|
| |
llvm-svn: 150559
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New public API for handling formatters: creating, deleting, modifying categories, and formatters, and managing type/formatter association.
This provides SB classes for each of the main object types involved in providing formatter support:
SBTypeCategory
SBTypeFilter
SBTypeFormat
SBTypeSummary
SBTypeSynthetic
plus, an SBTypeNameSpecifier class that is used on the public API layer to abstract the notion that formatters can be applied to plain type-names as well as to regular expressions
For naming consistency, this patch also renames a lot of formatters-related classes.
Plus, the changes in how flags are handled that started with summaries is now extended to other classes as well. A new enum (lldb::eTypeOption) is meant to support this on the public side.
The patch also adds several new calls to the formatter infrastructure that are used to implement by-index accessing and several other design changes required to accommodate the new API layer.
An architectural change is introduced in that backing objects for formatters now become writable. On the public API layer, CoW is implemented to prevent unwanted propagation of changes.
Lastly, there are some modifications in how the "default" category is constructed and managed in relation to other categories.
llvm-svn: 150558
|
| |
|
|
|
|
|
|
|
| |
JIT when printing the values of registers (e.g.,
"expr $pc"). Now the expression parser can do this
in the IR interpreter without running code in the
inferior process.
llvm-svn: 150554
|
| |
|
|
|
|
| |
can be allocated in the process.
llvm-svn: 150523
|
| |
|
|
|
|
|
|
| |
now that 'watchpoint set variable/expression'
is working. Also update the relevant test cases.
llvm-svn: 150514
|
| |
|
|
| |
llvm-svn: 150501
|
| |
|
|
| |
llvm-svn: 150492
|
| |
|
|
|
|
|
|
| |
from SBTarget.FindGlobalVariables()
as well as from SBFrame.GetVariables(). Both scenarios are expected to work.
llvm-svn: 150450
|
| |
|
|
|
|
|
| |
for assembly instructions to occasionally come
out empty.
llvm-svn: 150445
|
| |
|
|
|
|
|
|
|
| |
seems that sections in the memory module might be quite different from the
sections in the file module. Now we find all segments in the on disk file and
find that segment by name in the memory module and it is ok if any sections
from the file are missing in the memory image.
llvm-svn: 150443
|
| |
|
|
|
|
| |
set target.exec-search-paths '.
llvm-svn: 150427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tracking modules down when you have a UUID and a path has been improved.
DynamicLoaderDarwinKernel no longer parses mach-o load commands and it
now uses the memory based modules now that we can load modules from memory.
Added a target setting named "target.exec-search-paths" which can be used
to supply a list of directories to use when trying to look for executables.
This allows one or more directories to be used when searching for modules
that may not exist in the SDK/PDK. The target automatically adds the directory
for the main executable to this list so this should help us in tracking down
shared libraries and other binaries.
llvm-svn: 150426
|
| |
|
|
|
|
|
| |
anonymous types to each other unless they have
the same byte_size.
llvm-svn: 150422
|
| |
|
|
| |
llvm-svn: 150421
|
| |
|
|
|
|
|
|
|
|
|
|
| |
"target modules lookup" also work with the
"--function" option, so you can search for
functions that aren't inlined. This is the
same query that the expression parser makes, so
it's good for diagnosing situations where the
expression parser doesn't find a function you
think should be there.
llvm-svn: 150289
|
| |
|
|
|
|
| |
prettier.
llvm-svn: 150285
|
| |
|
|
|
|
|
|
|
| |
indicate whether inline functions are desired.
This allows the expression parser, for instance,
to filter out inlined functions when looking for
functions it can call.
llvm-svn: 150279
|
| |
|
|
|
|
|
|
|
|
| |
detection of kernels into the object file and
adding a new category for raw binary images.
Fixed all clients who previously searched for
sections manually, making them use the object
file's facilities instead.
llvm-svn: 150272
|
| |
|
|
| |
llvm-svn: 150271
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
parser. Specifically:
- ClangUserExpression now keeps weak pointers to the
structures it needs and then locks them when needed.
This ensures that they continue to be valid without
leaking memory if the ClangUserExpression is long
lived.
- ClangExpressionDeclMap, instead of keeping a pointer
to an ExecutionContext, now contains an
ExecutionContext. This prevents bugs if the pointer
or its contents somehow become stale. It also no
longer requires that ExecutionContexts be passed
into any function except its initialization function,
since it can count on the ExecutionContext still
being around.
There's a lot of room for improvement (specifically,
ClangExpressionDeclMap should also use weak pointers
insetad of shared pointers) but this is an important
first step that codifies assumptions that already
existed in the code.
llvm-svn: 150217
|
| |
|
|
|
|
| |
wrong reason; plus a minor code change to the CPP side of the test which eases debugging efforts
llvm-svn: 150213
|
| |
|
|
|
|
|
| |
by GetClangDeclContextContainingDIE, for better
debuggability.
llvm-svn: 150211
|
| |
|
|
| |
llvm-svn: 150205
|
| |
|
|
|
|
|
|
| |
enable us to track the depth of parsing and what is being parsed. This
helps when trying to track down difficult type parsing issues and is only
enabled in non-production builds.
llvm-svn: 150203
|
| |
|
|
| |
llvm-svn: 150198
|
| |
|
|
|
|
|
|
| |
for it.
Also fix a logic error for a missing return stmt. Oops.
llvm-svn: 150195
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
user space programs. The core file support is implemented by making a process
plug-in that will dress up the threads and stack frames by using the core file
memory.
Added many default implementations for the lldb_private::Process functions so
that plug-ins like the ProcessMachCore don't need to override many many
functions only to have to return an error.
Added new virtual functions to the ObjectFile class for extracting the frozen
thread states that might be stored in object files. The default implementations
return no thread information, but any platforms that support core files that
contain frozen thread states (like mach-o) can make a module using the core
file and then extract the information. The object files can enumerate the
threads and also provide the register state for each thread. Since each object
file knows how the thread registers are stored, they are responsible for
creating a suitable register context that can be used by the core file threads.
Changed the process CreateInstace callbacks to return a shared pointer and
to also take an "const FileSpec *core_file" parameter to allow for core file
support. This will also allow for lldb_private::Process subclasses to be made
that could load crash logs. This should be possible on darwin where the crash
logs contain all of the stack frames for all of the threads, yet the crash
logs only contain the registers for the crashed thrad. It should also allow
some variables to be viewed for the thread that crashed.
llvm-svn: 150154
|
| |
|
|
|
|
|
|
| |
change (besides logging) is that now string
literals in the IR are ConstantDataArrays instead
of ConstantArrays.
llvm-svn: 150142
|
| |
|
|
| |
llvm-svn: 150134
|
| |
|
|
|
|
| |
test.
llvm-svn: 150133
|
| |
|
|
|
|
| |
Breakpoint::BreakpointEventData methods.
llvm-svn: 150131
|
| |
|
|
| |
llvm-svn: 150127
|
| |
|
|
|
|
| |
causing testsuite crashes.
llvm-svn: 150125
|
| |
|
|
| |
llvm-svn: 150124
|
| |
|
|
|
|
| |
running the lldb command.
llvm-svn: 150119
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
become a mutiword command
with subcommand 'expression' and 'variable'. The first subcommand is for supplying an expression to
be evaluated into an address to watch for, while the second is for watching a variable.
'watchpoint set expression' is a raw command, which means that you need to use the "--" option terminator
to end the '-w' or '-x' option processing and to start typing your expression.
Also update several test cases to comply and add a couple of test cases into TestCompletion.py,
in particular, test that 'watchpoint set ex' completes to 'watchpoint set expression ' and that
'watchpoint set var' completes to 'watchpoint set variable '.
llvm-svn: 150109
|
| |
|
|
|
|
| |
variables that are only available in symbols.
llvm-svn: 150103
|
| |
|
|
|
|
| |
formatters
llvm-svn: 150085
|
| |
|
|
|
|
|
| |
parser now at least tries to generate IR for the
target.
llvm-svn: 150079
|
| |
|
|
| |
llvm-svn: 150063
|
| |
|
|
|
|
|
| |
Also, provide and use accessors for the thread options on breakpoints so we
can control sending the appropriate events.
llvm-svn: 150057
|
| |
|
|
|
|
|
|
|
|
|
| |
information about the current frame rather than
the debug information about "this" and "self"
when determining the types of those pointers.
This allows expressions to work in frames that
don't have valid "this" and "self" pointers,
working around poor debug information.
llvm-svn: 150051
|
| |
|
|
|
|
| |
functionality.
llvm-svn: 150039
|
| |
|
|
| |
llvm-svn: 150036
|
| |
|
|
|
|
|
|
|
|
| |
sufficiently general - it could only handle
literals and operations that didn't change the
data. Now the constant evaluator passes APInt
values around, and can handle GetElementPtr
constants.
llvm-svn: 150034
|