- Dec 07, 2012
-
-
Andrew Kaylor authored
Set ThreadPlanCallFunction to private in ConstructorSetup. This fixes a problem on Linux where 'continue' was misfiring after an expression evaluation when stopped at a breakpoint. The problem was that InferiorCallMmap was not setting its ThreadPlanCallFunction to private and so the completion of that thread plan appeared to be the stop reason and therefore the 'continue' operation failed to step over the breakpoint. The SetPrivate call is being put in ThreadPlanCallFunction rather than InferiorCallMmap to make the solution more general. llvm-svn: 169618
-
- Dec 06, 2012
-
-
rdar://problem/12560257Greg Clayton authored
Fixed zero sized arrays to work correctly. This will only happen once we get a clang that emits correct debug info for zero sized arrays. For now I have marked the TestStructTypes.py as an expected failure. llvm-svn: 169465
-
Jason Molenda authored
for target logging. llvm-svn: 169444
-
- Dec 05, 2012
-
-
Greg Clayton authored
llvm-svn: 169394
-
Jason Molenda authored
Update the Target methods which can change the target log to this channel. llvm-svn: 169342
-
Daniel Malea authored
- add new header lldb-python.h to be included before other system headers - short term fix (eventually python dependencies must be cleaned up) Patch by Matt Kopec! llvm-svn: 169341
-
rdar://problem/12649160Greg Clayton authored
Added the ability to debug through your process exec'ing itself to the same architecture. llvm-svn: 169340
-
- Dec 04, 2012
-
-
rdar://problem/12798131Greg Clayton authored
Cleaned up the option parsing code to always pass around the short options as integers. Previously we cast this down to "char" and lost some information. I recently added an assert that would detect duplicate short character options which was firing during the test suite. This fix does the following: - make sure all short options are treated as "int" - make sure that short options can be non-printable values when a short option is not required or when an option group is mixed into many commands and a short option is not desired - fix the help printing to "do the right thing" in all cases. Previously if there were duplicate short character options, it would just not emit help for the duplicates - fix option parsing when there are duplicates to parse options correctly. Previously the option parsing, when done for an OptionGroup, would just start parsing options incorrectly by omitting table entries and it would end up setting the wrong option value llvm-svn: 169189
-
- Nov 29, 2012
-
-
rdar://problem/12687087Greg Clayton authored
Emit an error when using "target modules add PATH" where PATH points to a debug info only (dSYM) file. Also added a "--uuid" option for "target modules add --uuid UUID" to locate and load a module by UUID if the host supports it. llvm-svn: 168949
-
rdar://problem/12780259Han Ming Ong authored
Prevent async and sync calls to get profile data from stomping on each other. At the same time, don't use '$' as end delimiter per chunk of profile data. llvm-svn: 168948
-
Daniel Malea authored
- use macros from inttypes.h for format strings instead of OS-specific types Patch from Matt Kopec! llvm-svn: 168945
-
rdar://problem/12655594Greg Clayton authored
Be sure to resolve the file path for the "target.process.python-os-plugin-path" setting. llvm-svn: 168916
-
rdar://problem/12445557Greg Clayton authored
Make stack frames fix up their line table entries when the target has source remappings. Also rearranged how the m_sc.target_sp was filled in so it can be used during the StackFrame::GetSymbolContext(...) function. llvm-svn: 168845
-
Jim Ingham authored
Add an example of using the target.process.extra-startup-command to turn on debugserver logging since we always forget how to do this... llvm-svn: 168840
-
- Nov 27, 2012
-
-
Jim Ingham authored
The Function calling thread plan was replacing the stored stop info too soon, causing recursive entry into the breakpoint StopInfo's PerformAction, which is bad. Reworked this so that it is now correct. <rdar://problem/12501259> llvm-svn: 168634
-
- Nov 20, 2012
-
-
Filipe Cabecinhas authored
llvm-svn: 168343
-
- Nov 17, 2012
-
-
Jason Molenda authored
in the source files. Expand to spaces. No content changes, just whitespace. llvm-svn: 168238
-
-
rdar://problem/12720514Han Ming Ong authored
This allows client to query profiling states on the inferior. llvm-svn: 168228
-
- Nov 15, 2012
-
-
Jim Ingham authored
much work for this to make sense. Just copy the current thread list and operate on that. Prevents some deadlocks. llvm-svn: 168106
-
- Nov 14, 2012
-
-
Jason Molenda authored
Thread::ResetFrameZeroRegisters() clear the UnwindLLDB object when resetting the thread's register state. llvm-svn: 167910
-
- Nov 10, 2012
-
-
Jim Ingham authored
llvm-svn: 167656
-
- Nov 08, 2012
-
-
Enrico Granata authored
Minor cleanups to the new ModuleList notification APIs: passing in the ModuleList as part of the callbacks, and not copying the notifier as part of copy constructing and assigning llvm-svn: 167592
-
rdar://problem/12586350Enrico Granata authored
This commit does three things: (a) introduces a new notification model for adding/removing/changing modules to a ModuleList, and applies it to the Target's ModuleList, so that we make sure to always trigger the right set of actions whenever modules come and go in a target. Certain spots in the code still need to "manually" notify the Target for several reasons, so this is a work in progress (b) adds a new capability to the Platforms: locating a scripting resources associated to a module. A scripting resource is a Python file that can load commands, formatters, ... and any other action of interest corresponding to the loading of a module. At the moment, this is only implemented on Mac OS X and only for files inside .dSYM bundles - the next step is going to be letting the frameworks themselves hold their scripting resources. Implementors of platforms for other systems are free to implement "the right thing" for their own worlds (c) hooking up items (a) and (b) so that targets auto-load the scripting resources as the corresponding modules get loaded in a target. This has a few caveats at the moment: - the user needs to manually add the .py file to the dSYM (soon, it will also work in the framework itself) - if two modules with the same name show up during the lifetime of an LLDB session, the second one won't be able to load its scripting resource, but will otherwise work just fine llvm-svn: 167569
-
- Nov 06, 2012
-
-
Jim Ingham authored
inlined subroutine ranges. <rdar://problem/12588579> llvm-svn: 167430
-
- Nov 02, 2012
-
-
Sean Callanan authored
the runtime if we have complete debug information for a class. Also made the Objective-C language runtime return NULL when asked for the complete debug information (i.e., information from DWARF, not information from the runtime) if that information isn't present. It used to return a non-authoritative version, which made it hard for clients to determine whether complete debug information was available. <rdar://problem/12608895> llvm-svn: 167299
-
- Oct 31, 2012
-
-
Greg Clayton authored
Carlo Kok found an issue where default parameters were causing the wrong argument to be passed. I got rid of the default args so we don't run into this. llvm-svn: 167167
-
Greg Clayton authored
llvm-svn: 167065
-
- Oct 29, 2012
-
-
rdar://problem/12500785Greg Clayton authored
I tracked down a leak that could happen when detaching from a process where the lldb_private::Process objects would stay around forever. This was caused by a eStateDetached event that was queued up on the lldb_private::Process private state thread listener. Since process events contain shared pointers to the process, this is dangerous if they don't get consume or cleared as having the lldb_private::Process class contain a collection of things that have a shared pointer to yourself is obviously bad. To fix this I modified the Process::Finalize() function to clear this list. The actual thing that was holding onto the ModuleSP and thus the static archive, was a stack frame. Since the process wasn't going away, it still had thread objects and they still had frames. I modified the Thread::Destroy() to clear the stack frames to ensure this further doesn't happen. llvm-svn: 166964
-
- Oct 26, 2012
-
-
rdar://problem/12570550Greg Clayton authored
TOT lldb broke finding App in app bundles when launching with shell. llvm-svn: 166733
-
Jim Ingham authored
llvm-svn: 166732
-
- Oct 25, 2012
-
-
Greg Clayton authored
Changed the V1 and V2 runtimes to be able to detect when the ISA hash table has changed, and auto update as needed. llvm-svn: 166693
-
- Oct 24, 2012
-
-
Sean Callanan authored
There was a generic catch-all type for path arguments called "eArgTypePath," and a specialized version called "eArgTypeFilename." It turns out all the cases where we used eArgTypePath we could have used Filename or we explicitly meant a directory. I changed Path to DirectoryName, made it use the directory completer, and rationalized the uses of Path. <rdar://problem/12559915> llvm-svn: 166533
-
Greg Clayton authored
Objective C cleanup. Removed an cache that was no longer needed and changes the code that gets the dynamic type and class name to use our new Objective C cache. llvm-svn: 166512
-
- Oct 23, 2012
-
-
Jim Ingham authored
it to print the old and new values. Temporarily disable the "out of scope" checking since it didn't work correctly, and was not what people generally expected watchpoints to be doing. llvm-svn: 166472
-
Sean Callanan authored
options: - added help ("help language") listing the possible options; - added the possibility of synonyms for language names, in this case "ObjC" for "Objective-C"; and - made matching against language names case insensitive. This should improve discoverability. <rdar://problem/12552359> llvm-svn: 166457
-
- Oct 19, 2012
-
-
Greg Clayton authored
Added the infrastructure necessary for plug-ins to be able to add their own settings instead of having settings added to existing ones. In particular "target.disable-kext-loading" was added to "target" where it should actually be specific to the the dynamic loader plugin. Now the plug-in manager has the ability to create settings at the root level starting with "plugin". Each plug-in type can add new sub dictionaries, and then each plug-in can register a setting dictionary under its own short name. For example the DynamicLoaderDarwinKernel plug-in now registers a setting dictionary at: plugin dynamic-loader macosx-kernel (bool) disable-kext-loading To settings can be set using: (lldb) settings set plugin.dynamic-loader.macosx-kernel.disable-kext-loading true I currently only hooked up the DynamicLoader plug-ins, but the code is very easy to duplicate when and if we need settings for other plug-ins. llvm-svn: 166294
-
Jason Molenda authored
in a kernel debug session: settings set target.disable-kext-loading true <rdar://problem/12490623> llvm-svn: 166262
-
rdar://problem/12491420Greg Clayton authored
Added a new setting that allows a python OS plug-in to detect threads and provide registers for memory threads. To enable this you set the setting: settings set target.process.python-os-plugin-path lldb/examples/python/operating_system.py Then run your program and see the extra threads. llvm-svn: 166244
-
- Oct 18, 2012
-
-
rdar://problem/12462048Greg Clayton authored
<rdar://problem/12068650> More fixes to how we handle paths that are used to create a target. This modification centralizes the location where and how what the user specifies gets resolved. Prior to this fix, the TargetList::CreateTarget variants took a FileSpec object which meant everyone had the opportunity to resolve the path their own way. Now both CreateTarget variants take a "const char *use_exe_path" which allows the TargetList::CreateTarget to centralize where the resolving happens and "do the right thing". llvm-svn: 166186
-