summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* The OS plug-in can now get data from a python script that implements the ↵Greg Clayton2012-08-247-43/+127
| | | | | | protocol. llvm-svn: 162540
* We have a partially working OS plug-in through python!Greg Clayton2012-08-242-6/+12
| | | | llvm-svn: 162532
* Added Args::StringForEncoding(), Args::StringToGenericRegister() and ↵Greg Clayton2012-08-246-119/+245
| | | | | | | | 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
* Fixing a bunch of issues with the OS plugin codeEnrico Granata2012-08-242-2/+8
| | | | llvm-svn: 162527
* Hooking up two more calls for the PythonOSPlugin stuff. The part of code to ↵Enrico Granata2012-08-242-4/+140
| | | | | | fetch the data and convert it to C++ objects is still missing, but will come llvm-svn: 162522
* Was forcing everyone on ToT to use the PythonOSPlugin.. my badEnrico Granata2012-08-241-1/+1
| | | | llvm-svn: 162519
* Adding bindings to the Script Interpreter for some basic Python OS plugin ↵Enrico Granata2012-08-243-11/+121
| | | | | | functionality (still WIP) llvm-svn: 162513
* Fix a typo.Johnny Chen2012-08-241-1/+1
| | | | llvm-svn: 162510
* Switch over to using object instances for all PythonData objects.Greg Clayton2012-08-231-52/+100
| | | | llvm-svn: 162504
* Clarify the doc string for register-name a bit, add flags.Jim Ingham2012-08-231-1/+4
| | | | llvm-svn: 162503
* Document the generic register names in help for register-name.Jim Ingham2012-08-231-1/+15
| | | | llvm-svn: 162500
* Cope with the case where the user-supplied callbacks want the watchpoint ↵Johnny Chen2012-08-233-1/+18
| | | | | | | | | | | | itself to be disabled! 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
* A first version of a bunch of classes that wrap commonly used Python objects ↵Enrico Granata2012-08-231-0/+234
| | | | | | in a ref-counting and type-safe C++ API llvm-svn: 162481
* Added a hollowed out version of an OperatingSystem plugin that will use a ↵Greg Clayton2012-08-235-1/+350
| | | | | | class in python to get thread information for threads stored in memory. llvm-svn: 162472
* gdb format should default to count of 1.Jim Ingham2012-08-231-2/+2
| | | | | | <rdar://problem/12161861> llvm-svn: 162470
* rdar://problem/12022371Johnny Chen2012-08-231-2/+3
| | | | | | | 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/12022079>Greg Clayton2012-08-236-15/+135
| | | | | | | | | | | | | | | | | | | | 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
* Rework how the API mutex is acquired when filling out an ExecutionContext ↵Jim Ingham2012-08-226-85/+214
| | | | | | | | | | | | | | | | | 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
* Check that the data buffer is non-null before getting its file contents.Jim Ingham2012-08-221-1/+5
| | | | llvm-svn: 162400
* Remove further outdated "settings" code and also implement a few missing things.Greg Clayton2012-08-2211-2416/+106
| | | | llvm-svn: 162376
* Reimplemented the code that backed the "settings" in lldb. There were many ↵Greg Clayton2012-08-2252-5297/+7243
| | | | | | | | | | | | | 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
* Added a test for the Python part of SBInputReader callbacks.Filipe Cabecinhas2012-08-221-2/+6
| | | | llvm-svn: 162357
* rdar://problem/11324515Johnny Chen2012-08-223-3/+42
| | | | | | | 'add-dsym' (aka 'target symbols add') should display error messages when dsym file is not found or the dsym uuid does not match any existing modules. Add TestAddDsymCommand.py test file. llvm-svn: 162332
* Fix test failures in TestWatchpointIter.py due to ↵Johnny Chen2012-08-212-1/+25
| | | | | | http://llvm.org/viewvc/llvm-project?rev=162322&view=rev. llvm-svn: 162328
* Remove the process->DisableWatchpoint() and EnableWatchpoint() calls since ↵Johnny Chen2012-08-211-4/+2
| | | | | | the sentry object is already doing that. llvm-svn: 162323
* rdar://problem/12144930Johnny Chen2012-08-212-1/+26
| | | | | | | Watchpoint conditions were hitting watchpoint, smashing LLDB's stack. Make sure watchpoint is properly disabled and subsequently enabled while performing watchpoint actions. llvm-svn: 162322
* SBValue::GetTypeName and SBValue::GetByteSize might have to update the ↵Jim Ingham2012-08-211-4/+45
| | | | | | | | dynamic value - which might involve running code. So they need to take the stop lock & target locks. <rdar://problem/12001204> llvm-svn: 162250
* A baton isn't needed to dispatch input.Filipe Cabecinhas2012-08-201-3/+3
| | | | | | I also added a typemap to make DispatchInput usable in Python. llvm-svn: 162204
* Some eh_frame unwind instructions will define a return address register;Jason Molenda2012-08-182-11/+33
| | | | | | | | | | | | | | | when you want to find the caller's saved pc, you look up the return address register and use that. On arm, for instance, this would be the contents of the link register (lr). If the eh_frame CIE defines an RA, record that fact in the UnwindPlan. When we're finding a saved register, if it's the pc, lok for the location of the return address register instead. <rdar://problem/12062310> llvm-svn: 162167
* Fix missing braces from the python-GIL merge.Johnny Chen2012-08-181-1/+4
| | | | llvm-svn: 162162
* Merge python-GIL bracnh (by filcab) back into trunk!Johnny Chen2012-08-182-135/+79
| | | | llvm-svn: 162161
* Fix a race condition where multiple PythonInputReaderManager instances ↵Johnny Chen2012-08-171-30/+41
| | | | | | | | | | | | could, during destruction, tread on the m_embedded_thread_input_reader_sp singleton maintained by the script interpreter. Furthermore, use two additional slots under the script interpreter to store the PseudoTerminal and the InputReaderSP pertaining to the embedded python interpreter -- resulted from the ScriptInterpreterPython::ExecuteInterpreterLoop() call -- to facilitate separation from what is being used by the PythonInputReaderManager instances. llvm-svn: 162147
* Fixed some small formatting issues in the help forSean Callanan2012-08-161-2/+4
| | | | | | | | | "command regex." It's now more readable and grammatically correct. <rdar://problem/12115962> llvm-svn: 162047
* Fixed a crash when incomplete expression variablesSean Callanan2012-08-161-0/+6
| | | | | | | | are materialized. <rdar://problem/12105013> llvm-svn: 162046
* rdar://problem/12096295Johnny Chen2012-08-151-1/+1
| | | | | | | Add an lldb command line option to specify a core file: --core/-c. For consistency, change the "target create" command to also use --core. llvm-svn: 161993
* Fixed a typo.Sean Callanan2012-08-151-1/+1
| | | | | | <rdar://problem/12090979> llvm-svn: 161910
* A little bit of refactoring.Johnny Chen2012-08-141-10/+13
| | | | llvm-svn: 161903
* When trying to take snapshots of a watched variable, if the frame is unable ↵Johnny Chen2012-08-142-7/+39
| | | | | | | | | to evaluate the variable expression, do not take the sanpshot and forget about the stop info. It is possible that the variable expression has gone out of scope, we'll revise the hit count due to the false alarms. llvm-svn: 161892
* <rdar://problem/11589605> Making a Enrico Granata2012-08-141-13/+35
| | | | | | | 'type category enable *' command to match 'type category disable *' llvm-svn: 161882
* Simplify the "Watchpoint ... hit" printout, make it more terse.Johnny Chen2012-08-132-8/+33
| | | | | | Change the test case, too. llvm-svn: 161806
* When emulating instructions that read from memory,Jason Molenda2012-08-131-0/+1
| | | | | | | | | return 0x0 as the read value instead of uninitialized stack data so we get consistent behavior from the emulator. <rdar://problem/12058770> llvm-svn: 161795
* Comment changes.Johnny Chen2012-08-131-1/+2
| | | | llvm-svn: 161787
* rdar://problem/12007576Johnny Chen2012-08-134-15/+175
| | | | | | | Record the snapshot of our watched value when the watchpoint is set or hit. And report the old/new values when watchpoint is triggered. Add some test scenarios. llvm-svn: 161785
* Add an option to "process continue" to ignore the next <N> crossings of the ↵Jim Ingham2012-08-111-3/+107
| | | | | | | | | | breakpoint under the currently selected thread. <rdar://problem/10458225> llvm-svn: 161723
* <rdar://problem/11791234>Greg Clayton2012-08-112-3/+8
| | | | | | Remember to copy the address byte size and the byte order when copying data into a DWARF location object, or things will go wrong. llvm-svn: 161721
* Revert changes where we copied the expression locations back to using the ↵Greg Clayton2012-08-111-2/+2
| | | | | | reference into the debug info until test suite failures are resolved. llvm-svn: 161720
* Add explicit casts to bool in "shared pointer is valid" constructs that ↵Jim Ingham2012-08-118-10/+8
| | | | | | return bool. llvm-svn: 161719
* <rdar://problem/11791234>Greg Clayton2012-08-102-3/+12
| | | | | | Fixed an issue that could cause references the shared data for an object file to stay around longer than intended and could cause memory bloat when debugging multiple times. llvm-svn: 161716
* Use the file completer for "process launch" arguments.Jim Ingham2012-08-101-0/+24
| | | | | | <rdar://problem/11274012> llvm-svn: 161704
* Remove a little unuseful output from the UnwindPlan::Row::Dump and ↵Jason Molenda2012-08-101-16/+1
| | | | | | UnwindPlan::Dump methods. llvm-svn: 161696
OpenPOWER on IntegriCloud