summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands/CommandObjectProcess.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Modify "process handle" so that if no signals are specified it lists/updates ↵Caroline Tice2010-10-141-47/+113
| | | | | | | | | | them all, if no update commands are specified it just lists the current values, and show that it always shows the new values for a signal after it has been updated. Also updated the help text to match the new functionality. llvm-svn: 116520
* Add new argument type, eArgSignalName,Caroline Tice2010-10-131-0/+240
| | | | | | | | | | | Add missing break statment to case statement in Process::ShouldBroadcastEvent. Add new command, "process handle" to allow users to control process behavior on the receipt of various Unix signals (whether the process should stop; whether the process should be passed the signal; whether the debugger user should be notified that the signal came in). llvm-svn: 116430
* Fixed process.gdb-remote to be able to properly propagate the signals andGreg Clayton2010-10-091-2/+9
| | | | | | obey the UnixSignals table that we have in the process. llvm-svn: 116139
* Cleaned up the SWIG stuff so all includes happen as they should, no pullingGreg Clayton2010-10-071-15/+18
| | | | | | | | | | | | | | | | | | tricks to get types to resolve. I did this by correctly including the correct files: stdint.h and all lldb-*.h files first before including the API files. This allowed me to remove all of the hacks that were in the lldb.swig file and it also allows all of the #defines in lldb-defines.h and enumerations in lldb-enumerations.h to appear in the lldb.py module. This will make the python script code a lot more readable. Cleaned up the "process launch" command to not execute a "process continue" command, it now just does what it should have with the internal API calls instead of executing another command line command. Made the lldb_private::Process set the state to launching and attaching if WillLaunch/WillAttach return no error respectively. llvm-svn: 115902
* Modify existing commands with arguments to use the new argument mechanismCaroline Tice2010-10-041-2/+26
| | | | | | (for standardized argument names, argument help, etc.) llvm-svn: 115570
* Modify command options to use the new arguments mechanism. Now all command ↵Caroline Tice2010-10-011-11/+11
| | | | | | | | | | | option arguments are specified in a standardized way, will have a standardized name, and have functioning help. The next step is to start writing useful help for all the argument types. llvm-svn: 115335
* General command line help cleanup:Greg Clayton2010-09-181-4/+4
| | | | | | | | | | - All single character options will now be printed together - Changed all options that contains underscores to contain '-' instead - Made the help come out a little flatter by showing the long and short option on the same line. - Modified the short character for "--ignore-count" options to "-i" llvm-svn: 114265
* Fixed the way set/show variables were being accessed to being natively Greg Clayton2010-09-181-177/+136
| | | | | | | | | | | | | | | | | | accessed by the objects that own the settings. The previous approach wasn't very usable and made for a lot of unnecessary code just to access variables that were already owned by the objects. While I fixed those things, I saw that CommandObject objects should really have a reference to their command interpreter so they can access the terminal with if they want to output usaage. Fixed up all CommandObjects to take an interpreter and cleaned up the API to not need the interpreter to be passed in. Fixed the disassemble command to output the usage if no options are passed down and arguments are passed (all disassebmle variants take options, there are no "args only"). llvm-svn: 114252
* If you have already loaded a file into the debugger, "process attach" will ↵Jim Ingham2010-09-151-20/+34
| | | | | | attach to a process with the filename, unless you specify otherwise. llvm-svn: 113916
* Remove help text that is no longer correct.Caroline Tice2010-09-141-2/+0
| | | | | | | Fix Python script interpreter to not fail when the Debugger does not have input/output file handles. llvm-svn: 113880
* Make all debugger-level user settable variables into instance variables.Caroline Tice2010-09-091-4/+11
| | | | | | | Make get/set variable at the debugger level always set the particular debugger's instance variables rather than the default variables. llvm-svn: 113474
* fix a bunch of signed/unsigned comparison warnings, stop evaluating ↵Chris Lattner2010-09-081-3/+3
| | | | | | "getsize" every time through the loop. llvm-svn: 113433
* Clean up, clarify and standardize help text, and fix a few help text ↵Caroline Tice2010-09-081-10/+10
| | | | | | formatting problems. llvm-svn: 113408
* This is a very large commit that completely re-does the way lldbCaroline Tice2010-09-041-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | handles user settable internal variables (the equivalent of set/show variables in gdb). In addition to the basic infrastructure (most of which is defined in UserSettingsController.{h,cpp}, there are examples of two classes that have been set up to contain user settable variables (the Debugger and Process classes). The 'settings' command has been modified to be a command-subcommand structure, and the 'set', 'show' and 'append' commands have been moved into this sub-commabnd structure. The old StateVariable class has been completely replaced by this, and the state variable dictionary has been removed from the Command Interpreter. Places that formerly accessed the state variable mechanism have been modified to access the variables in this new structure instead (checking the term-width; getting/checking the prompt; etc.) Variables are attached to classes; there are two basic "flavors" of variables that can be set: "global" variables (static/class-wide), and "instance" variables (one per instance of the class). The whole thing has been set up so that any global or instance variable can be set at any time (e.g. on start up, in your .lldbinit file), whether or not any instances actually exist (there's a whole pending and default values mechanism to help deal with that). llvm-svn: 113041
* Added the ability to disable ASLR (Address Space Layout Randomization). ASLRGreg Clayton2010-08-311-0/+4
| | | | | | | | is disabled by default, and can be enabled using: (lldb) set disable-aslr 0 llvm-svn: 112616
* Change "Current" as in GetCurrentThread, GetCurrentStackFrame, etc, to ↵Jim Ingham2010-08-261-4/+4
| | | | | | "Selected" i.e. GetSelectedThread. Selected makes more sense, since these are set by some user action (a selection). I didn't change "CurrentProcess" since this is always controlled by the target, and a given target can only have one process, so it really can't be selected. llvm-svn: 112221
* Change Target & Process so they can really be initialized with an invalid ↵Jim Ingham2010-08-091-104/+267
| | | | | | | | | | | | architecture. Arrange that this then gets properly set on attach, or when a "file" is set. Add a completer for "process attach -n". Caveats: there isn't currently a way to handle multiple processes with the same name. That will have to wait on a way to pass annotations along with the completion strings. llvm-svn: 110624
* I enabled some extra warnings for hidden local variables and for hiddenGreg Clayton2010-07-141-1/+1
| | | | | | virtual functions and caught some things and did some general code cleanup. llvm-svn: 108299
* Fix GetRepeatCommand so it works with multi-word commands.Jim Ingham2010-07-071-0/+6
| | | | | | | | Move the "source", "alias", and "unalias" commands to "commands *". Move "source-file" to "source list". Added a "source info" command but it isn't implemented yet. llvm-svn: 107751
* Very large changes that were needed in order to allow multiple connectionsGreg Clayton2010-06-231-65/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the debugger from GUI windows. Previously there was one global debugger instance that could be accessed that had its own command interpreter and current state (current target/process/thread/frame). When a GUI debugger was attached, if it opened more than one window that each had a console window, there were issues where the last one to setup the global debugger object won and got control of the debugger. To avoid this we now create instances of the lldb_private::Debugger that each has its own state: - target list for targets the debugger instance owns - current process/thread/frame - its own command interpreter - its own input, output and error file handles to avoid conflicts - its own input reader stack So now clients should call: SBDebugger::Initialize(); // (static function) SBDebugger debugger (SBDebugger::Create()); // Use which ever file handles you wish debugger.SetErrorFileHandle (stderr, false); debugger.SetOutputFileHandle (stdout, false); debugger.SetInputFileHandle (stdin, true); // main loop SBDebugger::Terminate(); // (static function) SBDebugger::Initialize() and SBDebugger::Terminate() are ref counted to ensure nothing gets destroyed too early when multiple clients might be attached. Cleaned up the command interpreter and the CommandObject and all subclasses to take more appropriate arguments. llvm-svn: 106615
* Move the "status" command to "process status" since that's where it belongs. ↵Jim Ingham2010-06-181-0/+79
| | | | | | | | Also make it print "running" if invoked when the current process is running. llvm-svn: 106265
* Move Args.{cpp,h} and Options.{cpp,h} to Interpreter where they really belong.Jim Ingham2010-06-151-2/+2
| | | | llvm-svn: 106034
* Change the Options parser over to use a mask rather than an ordinal for ↵Jim Ingham2010-06-151-9/+9
| | | | | | | | | option sets. Fixed the Disassemble arguments so you can't specify start address or name in multiple ways. Fixed the command line input so you can specify the filename without "-f" even if you use other options. llvm-svn: 106020
* Initial checkin of lldb code from internal Apple repo.Chris Lattner2010-06-081-0/+833
llvm-svn: 105619
OpenPOWER on IntegriCloud