| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
If you have a Python module foo, in order to use its contained objects in LLDB you do not need to use
'from foo import *'. You can use 'import foo', and then refer to items in foo as 'foo.bar', and LLDB
will know how to resolve bar as a member of foo.
Accordingly, GNU libstdc++ formatters have been moved from the global namespace to gnu_libstdcpp and a few
test cases are also updated to reflect the new convention. Python docs suggest using a plain 'import' en lieu of
'from-import'.
llvm-svn: 138244
|
|
|
|
| |
llvm-svn: 138237
|
|
|
|
| |
llvm-svn: 138236
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
plug-ins are add on plug-ins for the lldb_private::Process class that can add
thread contexts that are read from memory. It is common in kernels to have
a lot of threads that are not currently executing on any cores (JTAG debugging
also follows this sort of thing) and are context switched out whose state is
stored in memory data structures. Clients can now subclass the OperatingSystem
plug-ins and then make sure their Create functions correcltly only enable
themselves when the right binary/target triple are being debugged. The
operating system plug-ins get a chance to attach themselves to processes just
after launching or attaching and are given a lldb_private::Process object
pointer which can be inspected to see if the main executable, target triple,
or any shared libraries match a case where the OS plug-in should be used.
Currently the OS plug-ins can create new threads, define the register contexts
for these threads (which can all be different if desired), and populate and
manage the thread info (stop reason, registers in the register context) as
the debug session goes on.
llvm-svn: 138228
|
|
|
|
| |
llvm-svn: 138179
|
|
|
|
|
|
| |
to walk the directory tree. Plus, we can concentrate only on leaf nodes, i.e., files.
llvm-svn: 138178
|
|
|
|
|
|
| |
SBCommandReturnObject is called at all times
llvm-svn: 138169
|
|
|
|
|
|
| |
Plus add some comments.
llvm-svn: 138159
|
|
|
|
| |
llvm-svn: 138154
|
|
|
|
|
|
| |
it, it could try and call through to an installed callback.
llvm-svn: 138146
|
|
|
|
|
|
|
| |
and also to later release the ownership of the pointer object. This was needed
for SWIG interaction.
llvm-svn: 138133
|
|
|
|
|
|
| |
SBCommandInterpreter.cpp ; Making NSString test case work on Snow Leopard ; Removing an unused variable warning
llvm-svn: 138105
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"name-of-type @ object-location" instead of giving an error
e.g. you may get "foo_class @ 0x123456" when typing "type summary add -f ${var} foo_class"
- Added a new special formatting token %T for summaries. This shows the type of the object.
Using it, the new "type @ location" summary could be manually generated by writing ${var%T} @ ${var%L}
- Bits and pieces required to support "frame variable array[n-m]"
The feature is not enabled yet because some additional design and support code is required, but the basics
are getting there
- Fixed a potential issue where a ValueObjectSyntheticFilter was not holding on to its SyntheticChildrenSP
Because of the way VOSF are being built now, this has never been an actual issue, but it is still sensible for
a VOSF to hold on to the SyntheticChildrenSP as well as to its FrontEnd
llvm-svn: 138080
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
matches some pathname pattern
and to invoke lldb-disasm.py on the binary file to disassemble its symbols. The number of symbols can
be specified by, for example, '-n 10000', to specify 10,000 symbols to disassemble for each module.
By default, only 1000 symbols from each module are disassembled.
Example:
utils/test/run-dis.py -r '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3/Symbols' -p '^/System/Library/.*Frameworks/.*\.framework/[^/]+$'
tries to disassemble every public/private frameworks (by default only 1000 symbols are disassembled) under iOS4.3.
llvm-svn: 138078
|
|
|
|
|
|
| |
LLVM, it is no longer necessary.
llvm-svn: 138046
|
|
|
|
| |
llvm-svn: 138045
|
|
|
|
| |
llvm-svn: 138044
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
revision and adding a patch that fixes an AsmParser
crash on ARM.
One feature that we unfortunately lost (for the
moment!) is the ability to cast unknown code symbols
to arbitrary function types and put the resulting
function pointer in a result variable. This feature
will be back, though.
llvm-svn: 138036
|
|
|
|
| |
llvm-svn: 138026
|
|
|
|
|
|
|
|
| |
failure, re-raise
the exception to get more stack trace information.
llvm-svn: 138021
|
|
|
|
|
|
|
|
|
|
|
| |
- reorganizing the PTS (Partial Template Specializations) in FormatManager.h
- applied a patch by Filipe Cabecinhas to make LLDB compile with GCC
Functional changes:
- fixed an issue where command type summary add for type "struct Foo" would not match any types.
currently, "struct" will be stripped off and type "Foo" will be matched.
similar behavior occurs for class, enum and union specifiers.
llvm-svn: 138020
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test_step_over_3_times_with_dsym/dwarf()
test cases in TestThreadAPI.py by decorating it with @expectedFailureClang.
Example:
@expectedFailureClang
@python_api_test
def test_step_over_3_times_with_dwarf(self):
"""Test Python SBThread.StepOver() API."""
# We build a different executable than the default buildDwarf() does.
d = {'CXX_SOURCES': 'main2.cpp', 'EXE': self.exe_name}
self.buildDwarf(dictionary=d)
self.setTearDownCleanup(dictionary=d)
self.step_over_3_times(self.exe_name)
llvm-svn: 138019
|
|
|
|
| |
llvm-svn: 138013
|
|
|
|
|
|
| |
Failed possibly due to rollback of llvm/clang.
llvm-svn: 138011
|
|
|
|
|
|
|
|
|
|
|
|
| |
pattern we're interested in disassembling.
An example:
utils/test/lldb-disasm.py -C "platform select remote-ios" -o "-b -n" -e '~/CoreFoundation' -n 20 -p '-\[NSArray .+\]'
disassembles the first 20 NSArray instance methods found in the CoreFoundation module.
llvm-svn: 138002
|
|
|
|
| |
llvm-svn: 137991
|
|
|
|
|
|
|
|
|
|
|
|
| |
disassembled result.
This could be useful by reducing the strain on standard output.
Example:
utils/test/lldb-disasm.py -C "platform select remote-ios" -o "-b -n" -e '~/CoreFoundation' -n 50 -q
llvm-svn: 137988
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM to pull in the older ARM disassembler. I
also modified our build scripts to support
building LLVM from one SVN revision and Clang
from another.
These are temporary measures; as soon as we
get some solid testing in with the new ARM
disassembler, we plan to switch right back.
llvm-svn: 137965
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- reorganizing classes layout to have public part first
Typedefs that we want to keep private, but must be defined for some public code to work correctly are an exception
- avoiding methods in the form T foo() { code; } all on one-line
- moving method implementations from .h to .cpp whenever feasible
Templatized code is an exception and so are very small methods
- generally, adhering to coding conventions followed project-wide
Functional changes:
- fixed an issue where using ${var} in a summary for an aggregate, and then displaying a pointer-to-aggregate would lead to no summary being displayed
The issue was not a major one because all ${var} was meant to do in that context was display an error for invalid use of pointer
Accordingly fixed test cases and added a new test case
llvm-svn: 137944
|
|
|
|
|
|
| |
substitutions should be whole words in the output command.
llvm-svn: 137921
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- all instances of "vobj" have been renamed to "valobj"
- class Debugger::Formatting has been renamed to DataVisualization (defined in FormatManager.h/cpp)
The interface to this class has not changed
- FormatCategory now uses ConstString's as keys to the navigators instead of repeatedly casting
from ConstString to const char* and back all the time
Next step is making the same happen for categories themselves
- category gnu-libstdc++ is defined in the constructor for a FormatManager
The source code for it is defined in gnu_libstdcpp.py, drawn from examples/synthetic at compile time
All references to previous 'osxcpp' name have been removed from both code and file names
Functional changes:
- the name of the option to use a summary string for 'type summary add' has changed from the previous --format-string
to the new --summary-string. It is expected that the short option will change from -f to -s, and -s for --python-script
will become -o
llvm-svn: 137886
|
|
|
|
|
|
|
|
|
|
| |
children for types std::map, std::list and std::vector
The category is enabled by default. If you run into issues with it, disable it and the previous behavior of LLDB is restored
** This is a temporary solution. The general solution to having formatters pulled in at startup should involve going through the Platform.
Fixed an issue in type synthetic list where a category with synthetic providers in it was not shown if all the providers were regex-based
llvm-svn: 137850
|
|
|
|
|
|
|
|
|
|
| |
that will be used as the help text for the command
If no docstring is provided, a default help text is created
LLDB will refuse to create scripted commands if the scripting language is anything but Python
Some additional comments in AppleObjCRuntimeV2.cpp to describe the memory layout expected by the dynamic type lookup code
llvm-svn: 137801
|
|
|
|
|
|
| |
the command line.
llvm-svn: 137790
|
|
|
|
| |
llvm-svn: 137789
|
|
|
|
|
|
|
|
|
|
|
|
| |
- They now have an SBCommandReturnObject instead of an SBStream as third argument
- The class CommandObjectPythonFunction has been merged into CommandObjectCommands.cpp
- The command to manage them is now:
command script with subcommands add, list, delete, clear
command alias is returned to its previous functionality
- Python commands are now part of an user dictionary, instead of being seen as aliases
llvm-svn: 137785
|
|
|
|
| |
llvm-svn: 137784
|
|
|
|
| |
llvm-svn: 137782
|
|
|
|
| |
llvm-svn: 137776
|
|
|
|
| |
llvm-svn: 137749
|
|
|
|
| |
llvm-svn: 137748
|
|
|
|
|
|
| |
configuration of the failed tests.
llvm-svn: 137741
|
|
|
|
| |
llvm-svn: 137739
|
|
|
|
| |
llvm-svn: 137738
|
|
|
|
|
|
|
|
|
|
|
| |
C++ methods for a function depending on how the DWARF was
created. Now we parse the class type from the definition,
and all methods that use DW_AT_specification or DW_AT_abstract_origin
attributes to point to the definition, now won't create
duplicate entries. This is in response to how clang++ creates
much different DWARF than gcc.
llvm-svn: 137737
|
|
|
|
|
|
| |
(lldb) target modules dump symfile
llvm-svn: 137732
|
|
|
|
|
|
|
|
|
| |
being searched for in too heavyweight a way. Now,
when asking for the address of a function, the
expression parser just asks for a corresponding
data symbol.
llvm-svn: 137731
|
|
|
|
|
|
|
|
|
|
| |
...
File "/Volumes/data/lldb/svn/trunk/test/lldbtest.py", line 243, in __init__
self.session = test.session if test else None
AttributeError: 'StdCXXDisassembleTestCase' object has no attribute 'session'
llvm-svn: 137724
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is now possible to use 'command alias --python' to define a command name that actually triggers execution of a Python function
(e.g. command alias --python foo foo_impl makes a command named 'foo' that runs Python function 'foo_impl')
The Python function foo_impl should have as signature: def foo_impl(debugger, args, stream, dict): where
debugger is an object wrapping an LLDB SBDebugger
args is the command line arguments, as an unparsed Python string
stream is an SBStream that represents the standard output
dict is an internal utility parameter and should be left untouched
The function should return None on no error, or an error string to describe any problems
llvm-svn: 137722
|
|
|
|
|
|
| |
and signed integers.
llvm-svn: 137710
|