- Oct 04, 2012
-
-
- Oct 03, 2012
-
-
rdar://problem/12408181Enrico Granata authored
<rdar://problem/12408181> Fixing a bug where we would try to look for types in a module, and then fail to look for them anywhere else because the same SymbolContext was being passed everywhere llvm-svn: 165169
-
- Oct 02, 2012
-
-
rdar://problem/11791234Greg Clayton authored
Shared libraries on MacOSX were not properly being removed from the shared module list when re-running a debug session due to an error in: Module::MatchesModuleSpec() llvm-svn: 164991
-
- Oct 01, 2012
-
-
- Sep 29, 2012
-
-
-
rdar://problem/12378910Enrico Granata authored
<rdar://problem/12378910> Fixing a potential crasher in the data formatters where we fail to check for NULL or empty class name llvm-svn: 164870
-
Enrico Granata authored
This checkin adds the capability for LLDB to load plugins from external dylibs that can provide new commands It exports an SBCommand class from the public API layer, and a new SBCommandPluginInterface There is a minimal load-only plugin manager built into the debugger, which can be accessed via Debugger::LoadPlugin. Plugins are loaded from two locations at debugger startup (LLDB.framework/Resources/PlugIns and ~/Library/Application Support/LLDB/PlugIns) and more can be (re)loaded via the "plugin load" command For an example of how to make a plugin, refer to the fooplugin.cpp file in examples/plugins/commands Caveats: Currently, the new API objects and features are not exposed via Python. The new commands can only be "parsed" (i.e. not raw) and get their command line via a char** parameter (we do not expose our internal Args object) There is no unloading feature, which can potentially lead to leaks if you overwrite the commands by reloading the same or different plugins There is no API exposed for option parsing, which means you may need to use getopt or roll-your-own llvm-svn: 164865
-
- Sep 28, 2012
-
-
Greg Clayton authored
We can now do: Specify a path to a debug symbols file: (lldb) add-dsym <path-to-dsym> Go and download the dSYM file for the "libunc.dylib" module in your target: (lldb) add-dsym --shlib libunc.dylib Go and download the dSYM given a UUID: (lldb) add-dsym --uuid <UUID> Go and download the dSYM file for the current frame: (lldb) add-dsym --frame llvm-svn: 164806
-
- Sep 27, 2012
-
-
Greg Clayton authored
llvm-svn: 164753
-
- Sep 20, 2012
-
-
Jason Molenda authored
get FormatManager.cpp to build on no-python platforms again. llvm-svn: 164284
-
Greg Clayton authored
A patch that allows for mach-o architectures to be specified as "<number>-<number>" where the first number is the cpu type and the second is the cpu subtype. Also added code to allow use of mach-o architectures that aren't in our tables so that symbolication and static file introspection (crashlogs) can work with them. llvm-svn: 164258
-
- Sep 19, 2012
-
-
rdar://problem/12125274Greg Clayton authored
Intentionally leak the module list to avoid unnecessary freeing of modules + object files + symbol files when the program is exiting. llvm-svn: 164184
-
Jason Molenda authored
detect strtoul parse failure instead of return value of 0. <rdar://problem/12198994> llvm-svn: 164183
-
- Sep 18, 2012
-
-
Greg Clayton authored
Stop using the "%z" size_t modifier and cast all size_t values to uint64_t. Some platforms don't support this modification. llvm-svn: 164148
-
rdar://problem/11988289Enrico Granata authored
<rdar://problem/11988289> Making C++ synthetic children provider for NSDictionary and related classes llvm-svn: 164144
-
- Sep 15, 2012
-
-
Jason Molenda authored
building on no-Python systems again. llvm-svn: 163961
-
Enrico Granata authored
Fixing a potential crasher where the new C++ synthetic children can return a NULL FrontEnd and cause LLDB to crash. This patch introduces a dummy front-end which the ValueObjectSynthetic can use lacking a real FrontEnd llvm-svn: 163946
-
- Sep 14, 2012
-
-
Sean Callanan authored
<rdar://problem/12293231> llvm-svn: 163864
-
Enrico Granata authored
llvm-svn: 163852
-
Greg Clayton authored
llvm-svn: 163851
-
- Sep 13, 2012
-
-
rdar://problem/11086338Enrico Granata authored
<rdar://problem/11086338> Implementing support for synthetic children generated by running C++ code instead of Python scripts ; Adding a bunch of value-generating APIs to our private code layer ; Providing synthetic children for NSArray llvm-svn: 163818
-
Filipe Cabecinhas authored
llvm-svn: 163800
-
- Sep 11, 2012
-
-
Filipe Cabecinhas authored
llvm-svn: 163640
-
Greg Clayton authored
llvm-svn: 163590
-
- Sep 06, 2012
-
-
Jason Molenda authored
only accept the first matching type based on lldb's sizeofs. <rdar://problem/12222109> llvm-svn: 163285
-
- Sep 05, 2012
-
-
Enrico Granata authored
Implementing an Options class for EvaluateExpression() in order to make the signature more compact and make it easy to 'just run an expression' llvm-svn: 163239
-
Enrico Granata authored
llvm-svn: 163170
-
- Sep 04, 2012
-
-
Enrico Granata authored
llvm-svn: 163156
-
rdar://problem/11485744Enrico Granata authored
<rdar://problem/11485744> Implement important data formatters in C++. Have the Objective-C language runtime plugin expose class descriptors objects akin to the objc_runtime.py Pythonic implementation. Rewrite the data formatters for some core Cocoa classes in C++ instead of Python. llvm-svn: 163155
-
- Sep 01, 2012
-
-
Greg Clayton authored
Added the ability for OptionValueString objects to take flags. The only flag is currently for parsing escape sequences. Not the prompt string can have escape characters translate which will allow colors in the prompt. Added functions to Args that will parse the escape sequences in a string, and also re-encode the escape sequences for display. This was looted from other parts of LLDB (the Debugger::FormatString() function). llvm-svn: 163043
-
- Aug 31, 2012
-
-
rdar://problem/12202862Greg Clayton authored
Added a fix for incorrect dynamic typing. Before when asking if a C++ class could be dynamic, we would answer yes for incomplete C++ classes. This turned out to have issues where if a class was not virtual, yet had its first ivar be an instance of a virtual class, we would incorrectly say that a class was virtual and we would downcast it to be a pointer to the first ivar. We now ask the class to complete itself prior to answering the question. We need to test the effects on memory of this change prior to submission. It is the safest and best fix, but it does have a potential downside of higher memory consumption. llvm-svn: 163014
-
- Aug 29, 2012
-
-
rdar://problem/11757916Greg Clayton authored
Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes: - Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file". - modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly - Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was. - modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile() Cleaned up header includes a bit as well. llvm-svn: 162860
-
Johnny Chen authored
Fix a subtle ArchSpec::cores_match() logic issue which prevents the add-dsym command to add a debug symbol file to one of the target's current modules. llvm-svn: 162802
-
- Aug 27, 2012
-
-
Enrico Granata authored
llvm-svn: 162680
-
- Aug 24, 2012
-
-
Sean Callanan authored
expression path in a way that can actually be resolved by "expr". llvm-svn: 162574
-
- Aug 23, 2012
-
-
rdar://problem/12022079Greg Clayton authored
Added a new "interpreter" properties to encapsulate any properties for the command interpreter. Right now this contains only "expand-regex-aliases", so you can now enable (disabled by default) the echoing of the command that a regular expression alias expands to: (lldb) b main Breakpoint created: 1: name = 'main', locations = 1 Note that the expanded regular expression command wasn't shown by default. You can enable it if you want to: (lldb) settings set interpreter.expand-regex-aliases true (lldb) b main breakpoint set --name 'main' Breakpoint created: 1: name = 'main', locations = 1 Also enabled auto completion for enumeration option values (OptionValueEnumeration) and for boolean option values (OptionValueBoolean). Fixed auto completion for settings names when nothing has been type (it should show all settings). llvm-svn: 162418
-
- Aug 22, 2012
-
-
Greg Clayton authored
llvm-svn: 162376
-
Greg Clayton authored
Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: - no setting auto completion - very manual and error prone way of getting/setting variables - tons of code duplication - useless instance names for processes, threads Now settings can easily be defined like option values. The new settings makes use of the "OptionValue" classes so we can re-use the option value code that we use to set settings in command options. No more instances, just "does the right thing". llvm-svn: 162366
-
- Aug 09, 2012
-
-
Jim Ingham authored
<rdar://problem/11703715> llvm-svn: 161611
-
rdar://problem/10449092Enrico Granata authored
<rdar://problem/10449092> Adding a new uppercase hex format specifier. This commit also changes the short names for formats so that uppercase hex can be 'X', which was previously assigned to hex float. hex float now has no short name. llvm-svn: 161606
-