- Mar 03, 2012
-
-
Enrico Granata authored
fixed a few potential NULL-pointer derefs in ValueObject we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain llvm-svn: 151962
-
- Mar 02, 2012
-
-
Enrico Granata authored
llvm-svn: 151928
-
Enrico Granata authored
NSTimeZone and CFTimeZonRef SEL and related types CFGregorianDate llvm-svn: 151866
-
- Mar 01, 2012
-
-
Enrico Granata authored
llvm-svn: 151831
-
Enrico Granata authored
(b) fixes and improvements to the formatters for NSDate and NSString (c) adding an introspection formatter for NSCountedSet (d) making the Objective-C formatters test cases pass on both 64 and 32 bit one of the test cases is marked as expected failure on i386 - support needs to be added to the LLDB core for it to pass llvm-svn: 151826
-
Jim Ingham authored
and to print the total count & time in the header. llvm-svn: 151823
-
Enrico Granata authored
1) solving a bug where, after Jim's fixes to stack frames, synthetic children were not recalculated when necessary, causing them to get out of sync with live data 2) providing an updated list of tagged pointers values for the objc_runtime module - hopefully this one is final 3) changing ValueObject::DumpValueObject to use an Options class instead of providing a bulky list of parameters to pass around this change had been laid out previously, but some clients of DumpValueObject() were still using the old prototype and some arguments were treated in a special way and passed in directly instead of through the Options class 4) providing new GetSummaryAsCString() and GetValueAsCString() calls in ValueObject that are passed a formatter object and a destination string and fill the string by formatting themselves using the formatter argument instead of the default for the current ValueObject 5) removing the option to have formats and summaries stick to a variable for the current stoppoint after some debate, we are going with non-sticky: if you say frame variable --format hex foo, the hex format will only be applied to the current command execution and not stick when redisplaying foo the other option would be full stickiness, which means that foo would be formatted as hex for its whole lifetime we are open to suggestions on what feels "natural" in this regard llvm-svn: 151801
-
- Feb 29, 2012
-
-
Enrico Granata authored
llvm-svn: 151753
-
Enrico Granata authored
a) adds a Python summary provider for NSDate b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side d) contains much needed performance improvements: 1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time 2) redundant memory reads in the Python ObjC runtime wrapper are eliminated 3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure llvm-svn: 151703
-
- Feb 24, 2012
-
-
Enrico Granata authored
llvm-svn: 151388
-
rdar://problem/10103468Greg Clayton authored
I started work on being able to add symbol files after a debug session had started with a new "target symfile add" command and quickly ran into problems with stale Address objects in breakpoint locations that had lldb_private::Section pointers into modules that had been removed or replaced. This also let to grabbing stale modules from those sections. So I needed to thread harded the Address, Section and related objects. To do this I modified the ModuleChild class to now require a ModuleSP on initialization so that a weak reference can created. I also changed all places that were handing out "Section *" to have them hand out SectionSP. All ObjectFile, SymbolFile and SymbolVendors were inheriting from ModuleChild so all of the find plug-in, static creation function and constructors now require ModuleSP references instead of Module *. Address objects now have weak references to their sections which can safely go stale when a module gets destructed. This checkin doesn't complete the "target symfile add" command, but it does get us a lot clioser to being able to do such things without a high risk of crashing or memory corruption. llvm-svn: 151336
-
Enrico Granata authored
llvm-svn: 151304
-
Enrico Granata authored
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation. A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit. The formatters are contained in a category named "AppKit", which is not enabled at startup. llvm-svn: 151300
-
- Feb 22, 2012
-
-
Johnny Chen authored
llvm-svn: 151116
-
- Feb 21, 2012
-
-
Johnny Chen authored
llvm-svn: 151077
-
Benjamin Kramer authored
llvm-svn: 151074
-
Benjamin Kramer authored
llvm-svn: 151071
-
- Feb 20, 2012
-
-
Johnny Chen authored
Patch to fix the main.cpp compile error submitted by Dmitry Vyukov <dvyukov@google.com>. Also add a Makefile, plus some modification to main.cpp. llvm-svn: 150990
-
- Feb 08, 2012
-
-
Enrico Granata authored
llvm-svn: 150085
-
- Feb 03, 2012
-
-
Enrico Granata authored
Fixing issues where synthetic children providers for STL containers std::list and std::map where not doing their job properly llvm-svn: 149700
-
- Jan 31, 2012
-
-
Enrico Granata authored
This commit provides a new default summary for Objective-C boolean variables, which shows YES or NO instead of the character value. A new category named objc is added to contain this summary provider. Any future Objective-C related formatters would probably fit here llvm-svn: 149388
-
- Jan 30, 2012
-
-
Greg Clayton authored
sbvalue.value (<SBValue>) sbvalue.variable (<SBValue>) Initialize both with a lldb.SBValue sbvalue.value() make all sorts of convenience properties. Type "help(sbvalue.value)" in the embedded python interpreter to see what is available. sbvalue.variable() wraps a lldb.SBValue and allows you to play with your variable just as you would expect: pt = sbvalue.variable (lldb.frame.FindVariable("pt")) print pt.x print py.y argv = sbvalue.variable (lldb.frame.FindVariable("argv")) print argv[0] Member access and array acccess is all taken care of! llvm-svn: 149260
-
- Jan 26, 2012
-
-
Greg Clayton authored
When this is imported into your lldb using the "command script import /path/to/gdbremote.py" these new commands are available within LLDB. 'start_gdb_log' will enable logging with timestamps for GDB remote packets, and 'stop_gdb_log' will then dump the details and also a lot of packet timing data. This allows us to accurately track what packets are taking up the most time when debugging (when using the ProcessGDBRemote debugging plug-in). Also udpated the comments at the top of the cmdtemplate.py to show how to correctly import the module from within LLDB. llvm-svn: 149030
-
- Jan 24, 2012
-
-
Jim Ingham authored
llvm-svn: 148768
-
- Jan 22, 2012
-
-
Greg Clayton authored
to breakpoints, creating new LLDB commands using python modules and also how to run scripts from the command line. llvm-svn: 148650
-
- Jan 21, 2012
-
-
Greg Clayton authored
PC to disassemble. Users can also specify the frame depth to disassemble to and also if disassembly should happen for all threads. llvm-svn: 148627
-
Greg Clayton authored
python so that single and double quotes and other standard shell like argument parsing happens as expected before passing stuff along to option parsing. Also handle exceptions so that we don't accidentally exit lldb if an uncaught exception occurs. llvm-svn: 148623
-
Greg Clayton authored
filled out the command help and removed unused options. Updated the command to have a "--load-all" option that will cause the target that gets created to locate and load all images specified in the Binary Images section of the crash log to allow for complete program state to be matched to that of the crash log, not just the images that were in the stack frames (the default). llvm-svn: 148605
-
Greg Clayton authored
(lldb) script import crashlog will automatically add the "crashlog" command to the command interpreter! llvm-svn: 148598
-
- Jan 20, 2012
-
-
Sean Callanan authored
a reference to a class variable. llvm-svn: 148562
-
Greg Clayton authored
environment variable it set to include a path to lldb.py. Also fixed the case where the executable can't be located and doesn't match what is installed on the current system. It will still symbolicate the other frames, and will just show what was originally in the crash log file. Also removed the --crash-log option so the arguments to the "crashlog" command are one or more paths to crash logs. Fixed the script to "auto-install" itself when loaded from the embedded script interpreter. Now you only need to import the module and the command is ready for use. llvm-svn: 148561
-
Greg Clayton authored
system and also deal with dsymForUUID being available on the network, locally, and not at all. llvm-svn: 148534
-
Greg Clayton authored
of the identifier name in the binary images section. Improved the regular expression for the frames. Added a new file "crashlog.lldb" which can be sourced with "command source" that will import the module and set itself up to be used as a command. llvm-svn: 148529
-
Greg Clayton authored
module (you can't import a module with a '-' in it) and also added a Symbolcate(...) top level function so it can be imported and used as an LLDB command. Then you can import the module and map a "crashlog" command (for darwin use only currently) to the python function "crashlog.Symbolicate": (lldb) script import crashlog (lldb) command script add -f crashlog.Symbolicate crashlog Then use it to symbolicate: (lldb) crashlog --crash-log /path/to/foo.crash The crash log will then get symbolicated and inline frames will be added to the crash log and the frames will be displayed. The crash log currently will only try and fetch and setup the target images requires in order to do the symbolication. This will need to be iterated upon, but it is getting close to being useful so I am going to check this in. llvm-svn: 148528
-
Greg Clayton authored
llvm-svn: 148527
-
Greg Clayton authored
to find data on the heap. To use this, make the project and then when stopped in your lldb debug session: (lldb) process load /path/to/libheap.dylib (lldb) find_pointer_in_heap (0x112233000000) This will grep everything in all active allocation blocks and print and malloc blocks that contain the pointer 0x112233000000. This can also work for c strings: (lldb) find_cstring_in_heap ("hello") llvm-svn: 148523
-
- Jan 16, 2012
-
-
Greg Clayton authored
More improvements to not follow child processes and improved logging that always shows the process info. llvm-svn: 148257
-
- Jan 14, 2012
-
-
Greg Clayton authored
- don't strip too many frames from the backtrace when logging close backtraces - cleanup some logging messages llvm-svn: 148195
-
- Jan 10, 2012
-
-
Johnny Chen authored
llvm-svn: 147823
-
Greg Clayton authored
functions that can create file descriptors and close them. It will warn when there close file descriptor call that returns with EBADF and show the corresponding stack backtraces that caused the issue. It will also log all file descriptor create and delete calls. See the comments at the top of FDInterposing.cpp for all of the details. llvm-svn: 147816
-