- 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
-
Jason Molenda authored
use re.findall and specify the regexp of regname: regvalue that we're interested in. <rdar://problem/12188752> llvm-svn: 162806
-
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 28, 2012
-
-
Johnny Chen authored
llvm-svn: 162795
-
Johnny Chen authored
llvm-svn: 162794
-
Filipe Cabecinhas authored
llvm-svn: 162756
-
Filipe Cabecinhas authored
llvm-svn: 162753
-
- Aug 27, 2012
-
-
Enrico Granata authored
llvm-svn: 162685
-
Enrico Granata authored
llvm-svn: 162680
-
Filipe Cabecinhas authored
llvm-svn: 162679
-
- Aug 25, 2012
-
-
Filipe Cabecinhas authored
- Tweaked a parameter name in SBDebugger.h so my typemap will catch it; - Added a SBDebugger.Create(bool, callback, baton) to the swig interface; - Added SBDebugger.SetLoggingCallback to the swig interface; - Added a callback utility function for log callbacks; - Guard against Py_None on both callback utility functions; - Added a FIXME to the SBDebugger API test; - Added a __del__() stub for SBDebugger. We need to be able to get both the log callback and baton from an SBDebugger if we want to protect against memory leaks (or make the user responsible for holding another reference to the callback). Additionally, it's impossible to revert from a callback-backed log mechanism to a file-backed log mechanism. llvm-svn: 162633
-
Jim Ingham authored
llvm-svn: 162617
-
- Aug 24, 2012
-
-
Enrico Granata authored
llvm-svn: 162600
-
Sean Callanan authored
expression path in a way that can actually be resolved by "expr". llvm-svn: 162574
-
Johnny Chen authored
Add 'attach <pid>|<process-name>' command to lldb, as well as 'detach' which is an alias of 'process detach'. Add two completion test cases for "attach" and "detach". llvm-svn: 162573
-
Greg Clayton authored
llvm-svn: 162542
-
Greg Clayton authored
llvm-svn: 162540
-
Greg Clayton authored
llvm-svn: 162532
-
Enrico Granata authored
llvm-svn: 162531
-
Greg Clayton authored
Added Args::StringForEncoding(), Args::StringToGenericRegister() and centralized the parsing of the string to encoding and string to generic register. Added code the initialize the register context in the OperatingSystemPython plug-in with the new PythonData classes, and added a test OperatingSystemPython module in lldb/examples/python/operating_system.py that we can use for testing. llvm-svn: 162530
-
Enrico Granata authored
llvm-svn: 162527
-
Enrico Granata authored
Hooking up two more calls for the PythonOSPlugin stuff. The part of code to fetch the data and convert it to C++ objects is still missing, but will come llvm-svn: 162522
-
Enrico Granata authored
llvm-svn: 162519
-
Enrico Granata authored
llvm-svn: 162513
-
Johnny Chen authored
llvm-svn: 162510
-
Greg Clayton authored
llvm-svn: 162504
-
Jim Ingham authored
llvm-svn: 162503
-
Johnny Chen authored
llvm-svn: 162502
-
Jim Ingham authored
llvm-svn: 162500
-
Johnny Chen authored
Previously we put a WatchpointSentry object within StopInfo.cpp to disable-and-then-enable the watchpoint itself while we are performing the actions associated with the triggered watchpoint, which can cause the user-initiated watchpoint disabling action to be negated. Add a test case to verify that a watchpoint can be disabled during the callbacks. llvm-svn: 162483
-
Enrico Granata authored
A first version of a bunch of classes that wrap commonly used Python objects in a ref-counting and type-safe C++ API llvm-svn: 162481
-
- Aug 23, 2012
-
-
Greg Clayton authored
Added a hollowed out version of an OperatingSystem plugin that will use a class in python to get thread information for threads stored in memory. llvm-svn: 162472
-
Jim Ingham authored
<rdar://problem/12161861> llvm-svn: 162470
-
Johnny Chen authored
llvm-svn: 162467
-
Johnny Chen authored
Make a test scenario stronger, since, by default, the setting interpreter.expand-regex-aliases is false. llvm-svn: 162465
-
Johnny Chen authored
llvm-svn: 162462
-
Johnny Chen authored
Make it so that "b 245" should set a breakpoint at line 245 of the current file. Also add a simple test file. llvm-svn: 162419
-
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
-
Jim Ingham authored
llvm-svn: 162406
-
- Aug 22, 2012
-
-
Jim Ingham authored
Rework how the API mutex is acquired when filling out an ExecutionContext from an ExecutionContextRef, particularly in the SBThread & SBFrame interfaces. Instead of filling the whole context & then getting the API mutex, we now get only the target, acquire the API mutex from it, then fill out the rest of the context. This removes a race condition where you get a ThreadSP, then wait on the API mutex while another command Destroy's the Thread you've just gotten. Also fixed the ExecutionContextRef::Get*SP calls so they don't return invalid objects. Also fixed the ExecutionContext::Has*Scope calls so they don't claim to have a scope if the object representing that scope has been destroyed. Also fixed a think-o in Thread::IsValid which was causing it to return the opposite of the desired value. <rdar://problem/11995490> llvm-svn: 162401
-