summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands
Commit message (Collapse)AuthorAgeFilesLines
...
* -i option should apply to "-n" as well as "-F".Jim Ingham2012-06-041-2/+2
| | | | llvm-svn: 157960
* Give more explicit error messages when watchpoint creation command ↵Johnny Chen2012-06-041-2/+29
| | | | | | | | (watchpoint set) fails, like number of supported hardware watchpoints reached or the watch size is not allowed. llvm-svn: 157948
* Fix a typo for 'waitfor' option help wording.Johnny Chen2012-06-011-1/+1
| | | | llvm-svn: 157853
* Fix a bunch of thinko's in the command "thread continue".Jim Ingham2012-05-311-7/+33
| | | | | | rdar://problem/11562050 llvm-svn: 157767
* Fixed a missed case in the patch to makeSean Callanan2012-05-311-1/+1
| | | | | | HandleCommand take a LazyBool instead of a bool. llvm-svn: 157728
* <rdar://problem/11328896> Fixing a bug where regex commands were saved in ↵Enrico Granata2012-05-312-2/+34
| | | | | | the history even if they came from a 'command sourced' file - this fix introduces a command sourcing depth and disables history for all levels of depth > 0, which means no commands go into history when being sourced from a file. we need an integer depth because command files might themselves source other command files, ... llvm-svn: 157727
* <rdar://problem/11562050> Greg Clayton2012-05-311-3/+3
| | | | | | | | "thread continue" uses zero based thread indexes, not the thread index ID. Also fixed "thread until" if it uses the -t option. llvm-svn: 157724
* We were accessing the ModuleList in the target without locking it for tasks likeJim Ingham2012-05-301-13/+30
| | | | | | | | | | | setting breakpoints. That's dangerous, since while we are setting a breakpoint, the target might hit the dyld load notification, and start removing modules from the list. This change adds a GetMutex accessor to the ModuleList class, and uses it whenever we are accessing the target's ModuleList (as returned by GetImages().) <rdar://problem/11552372> llvm-svn: 157668
* rdar://problem/11541676Johnny Chen2012-05-291-3/+9
| | | | | | | Do not show the derived registers like "eax", ... for the vanilla "register read" command. Also add a test scenario for that. llvm-svn: 157647
* rdar://problem/11533713Johnny Chen2012-05-252-2/+15
| | | | | | Allow setting conditions inline with breakpoints. Add test cases. llvm-svn: 157497
* <rdar://problem/11534686> Greg Clayton2012-05-251-2/+9
| | | | | | Reading memory from a file when the section is encrypted doesn't show an error. No we do. llvm-svn: 157484
* rdar://problem/11457634Johnny Chen2012-05-241-4/+13
| | | | | | | Supports the use-case scenario of immediately continuing the process once attached. Add a simple completion test case from "process attach --con" to "process attach --continue ". llvm-svn: 157361
* Add the capability to display the number of supported hardware watchpoints ↵Johnny Chen2012-05-231-0/+9
| | | | | | | | | to the "watchpoint list" command. Add default Process::GetWatchpointSupportInfo() impl which returns an error of "not supported". Add "qWatchpointSupportInfo" packet to the gdb communication layer to support this, and modify TestWatchpointCommands.py to test it. llvm-svn: 157345
* Also push file & line breakpoints past the prologue. Also added a "-K" ↵Jim Ingham2012-05-222-4/+33
| | | | | | | | | | | argument to the relevant "break set" commands to set this per breakpoint. Also, some CreateBreakpoint API's in the lldb_private namespace had "internal" first and "skip_prologue" second. "internal should always be last. Fixed that. rdar://problem/11484729 llvm-svn: 157225
* <rdar://problem/11386214>Greg Clayton2012-05-182-4/+15
| | | | | | | | | | | <rdar://problem/11455913> "target symbol add" should flush the cached frames "register write" should flush the thread state in case registers modifications change stack llvm-svn: 157042
* rdar://problem/11140741Johnny Chen2012-05-181-2/+12
| | | | | | | For "process attach", make the success criterion as the inferior changes its state to eStateStopped. Otherwise, mark it as a failure and say so. llvm-svn: 157036
* Set the result status correctly for asynchronous step-in/out/over commands.Jim Ingham2012-05-161-0/+4
| | | | llvm-svn: 156885
* Modified "image lookup -t <typename>" to expand typedefs.Greg Clayton2012-05-151-1/+13
| | | | llvm-svn: 156845
* <rdar://problem/11455398>Greg Clayton2012-05-151-88/+139
| | | | | | | | Add "--name" option to "image lookup" that will search both functions and symbols. Also made all of the output from any of the "image lookup" commands be the same regardless of the lookup type (function name, symbol name, func or symbol, file and line, address, etc). The --verbose or -v option also will expand the results as needed and display things so they look the same. llvm-svn: 156835
* Add a useful error message to "log enable" with the wrong number of ↵Jim Ingham2012-05-121-3/+3
| | | | | | arguments, and reject "log enable lldb" which just silently did nothing before. llvm-svn: 156686
* Found one more place where the OkayToDiscard needs to be consulted.Jim Ingham2012-05-111-1/+1
| | | | | | | Also changed the defaults for SBThread::Step* to not delete extant plans. Also added some test cases to test more complex stepping scenarios. llvm-svn: 156667
* <rdar://problem/11358639>Greg Clayton2012-05-082-2/+4
| | | | | | | | Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples. Also make the selection process for auto selecting platforms based off of an arch much better. llvm-svn: 156354
* Add clarification comments.Johnny Chen2012-05-081-0/+2
| | | | llvm-svn: 156350
* Updated to a more meaningful macro name.Johnny Chen2012-05-071-2/+2
| | | | llvm-svn: 156340
* Fix the problem that 'help breakpoint set' is printing a lot of redundant lines.Johnny Chen2012-05-071-2/+2
| | | | | | | | | | Correctly specify the LLDB_OPT_SET's that the 'shlib' command option belongs to by using a newly added macro like this: #define LLDB_OPT_NOT_10 ( LLDB_OPT_SET_FROM(1, 10) & ~LLDB_OPT_SET_10 ) rdar://problem/11393864 llvm-svn: 156337
* Don't expose the pthread_mutex_t underlying the Mutex & Mutex::Locker classes. Jim Ingham2012-05-041-1/+1
| | | | | | | | | | | | | No one was using it and Locker(pthread_mutex_t *) immediately asserts for pthread_mutex_t's that don't come from a Mutex anyway. Rather than try to make that work, we should maintain the Mutex abstraction and not pass around the platform implementation... Make Mutex::Locker::Lock take a Mutex & or a Mutex *, and remove the constructor taking a pthread_mutex_t *. You no longer need to call Mutex::GetMutex to pass your mutex to a Locker (you can't in fact, since I made it private.) llvm-svn: 156221
* Clean up the usage of "MasterPlan" status in ThreadPlans. Only ↵Jim Ingham2012-05-031-38/+42
| | | | | | | | | | | | | | | user-initiated plans should be MasterPlans that want to stay on the plan stack. So make all plans NOT MasterPlans by default and then have the SB API's and the CommandObjectThread step commands set this explicitly. Also added a "clean up" phase to the Thread::ShouldStop so that if plans get stranded on the stack, we can remove them. This is done by adding an IsPlanStale method to the thread plans, and if the plan can know that it is no longer relevant, it returns true, and the plan and its sub-plans will get discarded. llvm-svn: 156101
* Document the fact that you can repeat "-n" and similar options to make one ↵Jim Ingham2012-05-031-7/+10
| | | | | | breakpoint on multiple names. llvm-svn: 156098
* Adding a new 'type category disable *' feature that disables all categories ↵Enrico Granata2012-05-031-12/+26
| | | | | | - This is intended as a quick kill switch for data formatters for cases where the user wants as little extra processing as possible to be done on their target, or to override major data formatters bug, should they occur llvm-svn: 156044
* If a command takes options and arguments, the help text should warn the user ↵Jim Ingham2012-05-021-3/+15
| | | | | | to use "--" to terminate the options. llvm-svn: 155973
* Added a --force option to "memory read,"Sean Callanan2012-04-281-1/+14
| | | | | | | disallowing reads over 1KiB in total size unless the user explicitly allows them. llvm-svn: 155750
* Clarify "watchpoint set" help text.Johnny Chen2012-04-271-2/+6
| | | | | | rdar://problem/11327790 llvm-svn: 155694
* Fix the docs for "breakpoint command add" to specify the arguments passed ↵Jim Ingham2012-04-251-21/+32
| | | | | | into the python function. llvm-svn: 155517
* Added a new host function that allows us to run shell command and get the ↵Greg Clayton2012-04-141-0/+70
| | | | | | | | | | | | | | | | output from them along with the status and signal: Error Host::RunShellCommand (const char *command, const char *working_dir, int *status_ptr, int *signo_ptr, std::string *command_output_ptr, uint32_t timeout_sec); This will allow us to use this functionality in the host lldb_private::Platform, and also use it in our lldb-platform binary. It leverages the existing code in Host::LaunchProcess and ProcessLaunchInfo. llvm-svn: 154730
* No functionality changes, mostly cleanup.Greg Clayton2012-04-111-1/+1
| | | | | | | | Cleaned up the Mutex::Locker and the ReadWriteLock classes a bit. Also cleaned up the GDBRemoteCommunication class to not have so many packet functions. Used the "NoLock" versions of send/receive packet functions when possible for a bit of performance. llvm-svn: 154458
* <rdar://problem/11202426> Greg Clayton2012-04-091-1/+2
| | | | | | Work around a deadlocking issue where "SBDebugger::MemoryPressureDetected ()" is being called and is causing a deadlock. We now just try and get the lock when trying to trim down the unique modules so we don't deadlock debugger GUI programs until we can find the root cause. llvm-svn: 154339
* In a prior commit, I changed the parameters around on a ↵Greg Clayton2012-04-061-1/+1
| | | | | | ModuleList::FindTypes where the old parameters that existing clients were using would have been compatible, so I renamed ModuleList::FindTypes to ModuleList::FindTypes2. Then I made fixes and verified I updated and fixed all client code, but I forgot to rename the function back to ModuleList::FindTypes(). I am doing that now and also cleaning up the C++ dynamic type code a bit. llvm-svn: 154182
* Adding a new --python-function (-F) option to breakpoint command add. The ↵Enrico Granata2012-04-042-5/+39
| | | | | | option allows the user to specify a Python function name instead of a Python oneliner or interactive script input as a breakpoint command llvm-svn: 154026
* Use 0 instead of NULL for the integral value.Bill Wendling2012-04-031-12/+12
| | | | llvm-svn: 153929
* Patch from Viktor Kutuzov: delete the temporary process we created when ↵Greg Clayton2012-03-311-0/+1
| | | | | | "process connect" fails. llvm-svn: 153790
* <rdar://problem/10103468>Greg Clayton2012-03-291-49/+10
| | | | | | | | | | Symbol files (dSYM files on darwin) can now be specified during program execution: (lldb) target symbols add /path/to/symfile/a.out.dSYM/Contents/Resources/DWARF/a.out This command can be used when you have a debug session in progress and want to add symbols to get better debug info fidelity. llvm-svn: 153693
* Fixing an issue where saying 'po foo' made both the summary and the ↵Enrico Granata2012-03-281-2/+3
| | | | | | description for foo come out. If one is po'ing something they most probably only care about the description - We will not omit the summary llvm-svn: 153608
* lldb_private::Section objects have a boolean flag that can be set that Greg Clayton2012-03-271-22/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | indicates that the section is thread specific. Any functions the load a module given a slide, will currently ignore any sections that are thread specific. lldb_private::Section now has: bool Section::IsThreadSpecific () const { return m_thread_specific; } void Section::SetIsThreadSpecific (bool b) { m_thread_specific = b; } The ELF plug-in has been modified to set this for the ".tdata" and the ".tbss" sections. Eventually we need to have each lldb_private::Thread subclass be able to resolve a thread specific section, but for now they will just not resolve. The code for that should be trivual to add, but the address resolving functions will need to be changed to take a "ExecutionContext" object instead of just a target so that thread specific sections can be resolved. llvm-svn: 153537
* <rdar://problem/11113279>Greg Clayton2012-03-262-7/+7
| | | | | | | | | | Fixed type lookups to "do the right thing". Prior to this fix, looking up a type using "foo::bar" would result in a type list that contains all types that had "bar" as a basename unless the symbol file was able to match fully qualified names (which our DWARF parser does not). This fix will allow type matches to be made based on the basename and then have the types that don't match filtered out. Types by name can be fully qualified, or partially qualified with the new "bool exact_match" parameter to the Module::FindTypes() method. This fixes some issue that we discovered with dynamic type resolution as well as improves the overall type lookups in LLDB. llvm-svn: 153482
* Removing cascading through inheritance chains for data formattersEnrico Granata2012-03-221-4/+4
| | | | | | | | | | | | | | | This is the feature that allowed the user to have things like: class Base { ... }; class Derived : public Base { ... }; and have formatters defined for Base work automatically for Derived. This feature turned out to be too expensive since it requires completing types. This patch takes care of removing cascading (other than typedefs chain cascading), updating the test suite accordingly, and adding required Cocoa class names to keep the AppKit formatters working llvm-svn: 153272
* Platforms can now auto-select themselves if you specify a full target triple ↵Greg Clayton2012-03-201-1/+1
| | | | | | | | when doing a "target create" command. Each platform now knows if it can handle an architecture and a platform can be found using an architecture. Each platform can look at the arch, vendor and OS and know if it should be used or not. llvm-svn: 153104
* Massive enumeration name changes: a number of enums in ValueObject were not ↵Enrico Granata2012-03-194-4/+4
| | | | | | | | | | | | | | | | | | following the naming pattern Changes to synthetic children: - the update(self): function can now (optionally) return a value - if it returns boolean value True, ValueObjectSyntheticFilter will not clear its caches across stop-points this should allow better performance for Python-based synthetic children when one can be sure that the child ValueObjects have not changed - making a difference between a synthetic VO and a VO with a synthetic value: now a ValueObjectSyntheticFilter will not return itself as its own synthetic value, but will (correctly) claim to itself be synthetic - cleared up the internal synthetic children architecture to make a more consistent use of pointers and references instead of shared pointers when possible - major cleanup of unnecessary #include, data and functions in ValueObjectSyntheticFilter itself - removed the SyntheticValueType enum and replaced it with a plain boolean (to which it was equivalent in the first place) Some clean ups to the summary generation code Centralized the code that clears out user-visible strings and data in ValueObject More efficient summaries for libc++ containers llvm-svn: 153061
* <rdar://problem/10434005>Greg Clayton2012-03-141-2/+2
| | | | | | | Prepare LLDB to be built with C++11 by hiding all accesses to std::tr1 behind macros that allows us to easily compile for either C++. llvm-svn: 152698
* <rdar://problem/10997402>Greg Clayton2012-03-072-10/+12
| | | | | | | | | | | This fix really needed to happen as a previous fix I had submitted for calculating symbol sizes made many symbols appear to have zero size since the function that was calculating the symbol size was calling another function that would cause the calculation to happen again. This resulted in some symbols having zero size when they shouldn't. This could then cause infinite stack traces and many other side affects. llvm-svn: 152244
* rdar://problem/10998562Johnny Chen2012-03-071-1/+2
| | | | | | | | | | lldb crashes under guard malloc Fix CommandObjectSettingsAppend::ExecuteRawCommandString() so that it does not perform the cmd_args.Shift() operation after it has got the var_name out of the raw string, since StringRef is manipulating the raw string later on. llvm-svn: 152194
OpenPOWER on IntegriCloud