- Feb 29, 2012
-
-
Sean Callanan authored
with non-constant indexes. llvm-svn: 151734
-
Jason Molenda authored
an unwind because RegisterContextLLDB::InitializeZerothFrame() would create a minimal stack frame to fetch the pc value of the current instruction. This proved fragile when another section of code was trying to create the first stack frame and UnwindLLDB called RegisterContextLLDB which tried to create its minimal stack frame. Instead, get the live RegisterContext, retrieve the pc value from the registers, and create an Address object from that. llvm-svn: 151714
-
rdar://problem/10605072Greg Clayton authored
Added the ability to override command line commands. In some cases GUI interfaces might want to intercept commands like "quit" or "process launch" (which might cause the process to re-run). They can now do so by overriding/intercepting commands by using functions added to SBCommandInterpreter using a callback function. If the callback function returns true, the command is assumed to be handled. If false is returned the command should be evaluated normally. Adopted this up in the Driver.cpp for intercepting the "quit" command. llvm-svn: 151708
-
Jim Ingham authored
get the frame requested. <rdar://problem/10943135> llvm-svn: 151705
-
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
-
Johnny Chen authored
Attached is a small python fix to save the current stout and std err when starting a python session, then diverting them (as it was before), and restoring the previous values afterwards. Otherwise, a python script could suddenly find itself without output. llvm-svn: 151693
-
Johnny Chen authored
Initial step -- infrastructure change -- to fix the bug. Change the RegisterInfo data structure to contain two additional fields (uint32_t *value_rges and uint32_t *invalidate_regs) to facilitate architectures which have register mapping. Update all existing RegsiterInfo arrays to have two extra NULL's (the additional fields) in each row, GDBRemoteRegisterContext.cpp is modified to add d0-d15 and q0-q15 register info entries which take advantage of the value_regs field to specify the containment relationship: d0 -> (s0, s1) ... d15 -> (s30, s31) q0 -> (d0, d1) ... q15 -> (d30, d31) llvm-svn: 151686
-
rdar://10950312Han Ming Ong authored
Need to GetProcess() to set the uid of the process to attach. llvm-svn: 151679
-
rdar://10950196Han Ming Ong authored
Returns true when there is any info retrieved. llvm-svn: 151678
-
Han Ming Ong authored
llvm-svn: 151677
-
- Feb 28, 2012
-
-
Greg Clayton authored
llvm-svn: 151642
-
Sean Callanan authored
that have valid load addresses. llvm-svn: 151636
-
rdar://problem/10942472Han Ming Ong authored
Allows the debugger to put a more sensible prompt when debugging as root. llvm-svn: 151605
-
rdar://problem/10017623Greg Clayton authored
Fixed an error where if we tried to format a ValueObject using a format that was incorrect for a variable, then it would set ValueObject::m_error to an error state and stop the value from being able to be updated. We now leave m_error alone and only let the update value code change that. Any errors in formatting will return a valid value as C string that contains an error string. This lets us then modify the format and redisplay without any issues. llvm-svn: 151581
-
- Feb 27, 2012
-
-
Sean Callanan authored
startDefinition() ... endDefinition() block, preventing crashes where the byte size of a not-yet-complete type was being computed. llvm-svn: 151546
-
Sean Callanan authored
AST importer because we're seeing occasional crashes. llvm-svn: 151541
-
Greg Clayton authored
and also so we don't break them with our code changes. The _only_ plug-ins that should be #ifdef'ed out and not compiled in LLDB are those that only work when running natively on the host system. This fixed bot the PlatformLinux and PlatformFreeBSD build breakages that were due to ModuleSpec changes. llvm-svn: 151539
-
Greg Clayton authored
so that we don't break it with code changes. After doing this I was able to fix the POSIX-DYLD plug-in so that it builds after recent ModuleSpec changes. llvm-svn: 151536
-
Benjamin Kramer authored
llvm-svn: 151535
-
Greg Clayton authored
llvm-svn: 151532
-
- Feb 26, 2012
-
-
Greg Clayton authored
more of the local path, platform path, associated symbol file, UUID, arch, object name and object offset. This allows many of the calls that were GetSharedModule to reduce the number of arguments that were used in a call to these functions. It also allows a module to be created with a ModuleSpec which allows many things to be specified prior to any accessors being called on the Module class itself. I was running into problems when adding support for "target symbol add" where you can specify a stand alone debug info file after debugging has started where I needed to specify the associated symbol file path and if I waited until after construction, the wrong symbol file had already been located. By using the ModuleSpec it allows us to construct a module with as little or as much information as needed and not have to change the parameter list. llvm-svn: 151476
-
- Feb 25, 2012
-
-
rdar://problem/9886712Greg Clayton authored
Added a dedicated platform for the iOS simulator. This helps us to find the correct files for a simulator binary before running and helps us select the right arch (i386 only) for files when we load them. llvm-svn: 151436
-
Johnny Chen authored
Now Each newly created target has its Watchpoint IDs as 1, 2, 3 ... llvm-svn: 151435
-
Greg Clayton authored
llvm-svn: 151422
-
rdar://problem/3535148Han Ming Ong authored
Added ability to debug root processes on OS X. This uses XPC service that is available on Lion and above only. llvm-svn: 151419
-
Greg Clayton authored
getting, setting, and checking. llvm-svn: 151408
-
- Feb 24, 2012
-
-
Greg Clayton authored
weak reference back to the Module. We were crashing when trying to make a memory object file since it was trying to get the object in the Module constructor before the "Module *" had been put into a shared pointer, and the module was trying to initialize a weak pointer back to it. llvm-svn: 151397
-
Greg Clayton authored
llvm-svn: 151392
-
Johnny Chen authored
Patch from dawn@burble.org! llvm-svn: 151375
-
Jim Ingham authored
llvm-svn: 151370
-
Greg Clayton authored
will fill out either a SBLaunchInfo or SBAttachInfo class, then call: SBProcess SBTarget::Launch (SBLaunchInfo &, SBError &); SBProcess SBTarget::Attach (SBAttachInfo &, SBError &); The attach is working right now and allows the ability to set many filters such as the parent process ID, the user/group ID, the effective user/group ID, and much more. The launch is not yet working, but I will get this working soon. By changing our launch and attach calls to take an object, it allows us to add more capabilities to launching and attaching without having to have launch and attach functions that take more and more arguments. Once this is all working we will deprecated the older launch and attach fucntions and eventually remove them. llvm-svn: 151344
-
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
-
Sean Callanan authored
Intel disassembler usable. Also flipped the switch: we are now exclusively using Disassembler.h instead of EnhancedDisassembly.h for all disassembly in LLDB. llvm-svn: 151306
-
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: 151299
-
- Feb 23, 2012
-
-
Jason Molenda authored
llvm-svn: 151292
-
Sean Callanan authored
Objective-C classes. This allows LLDB to find ivars declared in class extensions in modules other than where the debugger is currently stopped (we already supported this when the debugger was stopped in the same module as the definition). This involved the following main changes: - The ObjCLanguageRuntime now knows how to hunt for the authoritative version of an Objective-C type. It looks for the symbol indicating a definition, and then gets the type from the module containing that symbol. - ValueObjects now report their type with a potential override, and the override is set if the type of the ValueObject is an Objective-C class or pointer type that is defined somewhere other than the original reported type. This means that "frame variable" will always use the complete type if one is available. - The ClangASTSource now looks for the complete type when looking for ivars. This means that "expr" will always use the complete type if one is available. - I added a testcase that verifies that both "frame variable" and "expr" work. llvm-svn: 151214
-
- Feb 22, 2012
-
-
Jim Ingham authored
convenient to provide a log callback right when the debugger is created. llvm-svn: 151209
-
Greg Clayton authored
llvm-svn: 151202
-
Greg Clayton authored
subclasses if the object files support version numbering. Exposed this through SBModule for upcoming data formatter version checking stuff. llvm-svn: 151190
-
Greg Clayton authored
to the __PAGEZERO segment on darwin. The dynamic loader now correctly doesn't slide __PAGEZERO and it also registers it as an invalid region of memory. This allows us to not make any memory requests from the local or remote debug session for any addresses in this region. Stepping performance can improve when uninitialized local variables that point to locations in __PAGEZERO are attempted to be read from memory as we won't even make the memory read or write request. llvm-svn: 151128
-