- Apr 02, 2012
-
-
Enrico Granata authored
llvm-svn: 153878
-
- Mar 30, 2012
-
-
Enrico Granata authored
Fixing a whole class of crashers and potential crashers related to data formatters eating up all the stack when an unknown class has to be summarized ; this should make the whole Objective-C summaries more stable llvm-svn: 153712
-
- Mar 29, 2012
-
-
Enrico Granata authored
Part 1 of a series of fixes meant to improve reliability and increase ease of bug fixing for data formatter issues. We are introducing a new Logger class on the Python side. This has the same purpose, but is unrelated, to the C++ logging facility The Pythonic logging can be enabled by using the following scripting commands: (lldb) script Logger._lldb_formatters_debug_level = {0,1,2,...} 0 = no logging 1 = do log 2 = flush after logging each line - slower but safer 3 or more = each time a Logger is constructed, log the function that has created it more log levels may be added, each one being more log-active than the previous by default, the log output will come out on your screen, to direct it to a file: (lldb) script Logger._lldb_formatters_debug_filename = 'filename' that will make the output go to the file - set to None to disable the file output and get screen logging back Logging has been enabled for the C++ STL formatters and for Cocoa class NSData - more logging will follow synthetic children providers for classes list and map (both libstdcpp and libcxx) now have internal capping for safety reasons this will fix crashers where a malformed list or map would not ever meet our termination conditions to set the cap to a different value: (lldb) script {gnu_libstdcpp|libcxx}.{map|list}_capping_size = new_cap (by default, it is 255) you can optionally disable the loop detection algorithm for lists (lldb) script {gnu_libstdcpp|libcxx}.list_uses_loop_detector = False llvm-svn: 153676
-
Enrico Granata authored
Fixing an issue where Unicode characters in an NSString were printed as escape sequences by the summary provider shipping with LLDB - Added relevant test case code. Bonus points for identifying the source of the quotes :-) llvm-svn: 153624
-
- Mar 28, 2012
-
-
Enrico Granata authored
llvm-svn: 153559
-
- Mar 27, 2012
-
-
Enrico Granata authored
llvm-svn: 153541
-
- Mar 13, 2012
-
-
Enrico Granata authored
The Cocoa formatters now provide error messages for many of the common things-went-wrong situations. Previously they would say nothing or log failures to the Python console llvm-svn: 152673
-
Enrico Granata authored
Changed several of the Cocoa formatters to match the output style that Xcode uses internally to provide summaries This has been done for those summaries where the difference is only cosmetic (e.g. naming things as items instead of values, ...) The LLDB output style has been preserved when it provides more information (e.g. telling the type as well as the value of an NSNumber) Test cases have been updated to reflect the updated output style where necessary llvm-svn: 152592
-
- Mar 09, 2012
-
-
Enrico Granata authored
Fixing a problem with the NSSet summary provider; plus, providing a further optimization to the whole Cocoa formatters infrastructure llvm-svn: 152423
-
Enrico Granata authored
llvm-svn: 152358
-
- Mar 07, 2012
-
-
Enrico Granata authored
llvm-svn: 152186
-
- Mar 05, 2012
-
-
Enrico Granata authored
(a) the SystemParameters object is now passed around to the formatters; doing so enables the formatters to reuse computed values for things such as pointer-size and endianness instead of repeatedly computing these on their own (b) replacing the global ISA cache with a per-process one (c) providing a per-process types cache where each formatter can store the types it needs to operate, and be sure to find them the next time without recalculating them this also enables formatters to share types if they agree on a local naming convention (d) lazy fetching of data from Objective-C runtime data structures data is fetched as needed and we stop reading as soon as we determine that an ISA is actually garbage llvm-svn: 152052
-
- 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
-
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
-
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
-
- 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
-
- Aug 23, 2011
-
-
Enrico Granata authored
Short option for --summary-string in 'type summary add' is now -s. This might be a breaking change for those who have summaries defined. llvm-svn: 138331
-
- Jul 28, 2011
-
-
Enrico Granata authored
llvm-svn: 136293
-
- Jul 27, 2011
-
-
Enrico Granata authored
make the C++stdlib string summary work even if for some reason std::basic_string<char> ends up in the debug info instead of std::string llvm-svn: 136246
-
- Jul 26, 2011
-
-
Johnny Chen authored
llvm-svn: 136028
-
Johnny Chen authored
llvm-svn: 136026
-
Johnny Chen authored
llvm-svn: 135997
-
- Jul 23, 2011
-
-
Jim Ingham authored
Don't delete & remake the exception breakpoints every time you need them. Make them once & enable/disable them as appropriate. Also reformatted the lldb summaries to make them easier to read, and added one. I'll do more as I get time. llvm-svn: 135827
-
- Jul 21, 2011
-
-
Enrico Granata authored
essentials contains two small summaries that you might really want to use; lldb contains some basic summaries for use in debugging LLDB itself. to use them, you must type category enable lldb llvm-svn: 135653
-