summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands
Commit message (Collapse)AuthorAgeFilesLines
...
* Added needed breakpoint functionality to the public API that includes:Greg Clayton2010-07-231-1/+1
| | | | | | | | | | SBTarget: - get breakpoint count - get breakpoint at index SBBreakpoint: - Extract data from breakpoint events llvm-svn: 109289
* Added logging:Sean Callanan2010-07-231-0/+11
| | | | | | | | | | - When we JIT an expression, we print the disassembly of the generated code - When we put the structure into the target, we print the individual entries in the structure byte for byte. llvm-svn: 109278
* Fix a typo.Stephen Wilson2010-07-231-1/+1
| | | | llvm-svn: 109271
* Added extensive logging of the code that is actually goingSean Callanan2010-07-231-1/+14
| | | | | | | | | | | | to be executed by the inferior. This required explicit support from RecordingMemoryManager for finding the address range belonging to a particular function. Also fixed a bug in DisassemblerLLVM where the disassembler assumed there was an AddressRange available even when it was NULL. llvm-svn: 109209
* Modified TaggedASTType to inherit from ClangASTTypeSean Callanan2010-07-231-88/+119
| | | | | | | | | | | | | and moved it to its own header file for cleanliness. Added more logging to ClangFunction so that we can diagnose crashes in the executing expression. Added code to extract the result of the expression from the struct that is passed to the JIT-compiled code. llvm-svn: 109199
* Change over to using the definitions for mach-o types and defines to theGreg Clayton2010-07-212-24/+31
| | | | | | | | | | | defines that are in "llvm/Support/MachO.h". This should allow ObjectFileMachO and ObjectContainerUniversalMachO to be able to be cross compiled in Linux. Also did some cleanup on the ASTType by renaming it to ClangASTType and renaming the header file. Moved a lot of "AST * + opaque clang type *" functionality from lldb_private::Type over into ClangASTType. llvm-svn: 109046
* Added functionality to dematerialize values that wereSean Callanan2010-07-201-3/+2
| | | | | | | | | | | | | | used by the JIT compiled expression, including the result of the expression. Also added a new class, ASTType, which encapsulates an opaque Clang type and its associated AST context. Refactored ClangExpressionDeclMap to use ASTTypes, significantly reducing the possibility of mixups of types from different AST contexts. llvm-svn: 108965
* Fixing a crashing bug in multiword commands from William Lynch.Greg Clayton2010-07-201-3/+2
| | | | llvm-svn: 108958
* Remove use of STL collection class use of the "data()" method since it isn'tGreg Clayton2010-07-202-2/+2
| | | | | | | part of C++'98. Most of these were "std::vector<T>::data()" and "std::string::data()". llvm-svn: 108957
* Wrote the code that looks at a context to seeSean Callanan2010-07-161-1/+15
| | | | | | | if the variables in that context allow a particular JIT compiled expression to run in that context. llvm-svn: 108485
* Fixes to the IR generator in the expression parserSean Callanan2010-07-141-107/+143
| | | | | | | | to correctly unfold constant-folded global variables. Also added code to JIT the expression. Simple expressions are now JIT compiled successfully. llvm-svn: 108380
* I enabled some extra warnings for hidden local variables and for hiddenGreg Clayton2010-07-144-11/+17
| | | | | | virtual functions and caught some things and did some general code cleanup. llvm-svn: 108299
* Add an "Avoid Frames matching this regular expression" to ThreadPlanStepInRange.Jim Ingham2010-07-101-0/+14
| | | | | | | This relies on ThreadPlanStepOut working correctly, which it doesn't currently for Inlined functions, so this feature is only partially useful until we take care of Stepping Out of inlined functions. Added an option to "thread step-in" to set the avoid regular expression. This is mostly for testing, once the Setting code is redone, we'll move this to a general setting. llvm-svn: 108036
* Merged Eli Friedman's linux build changes where he added Makefile files thatGreg Clayton2010-07-0915-116/+106
| | | | | | | enabled LLVM make style building and made this compile LLDB on Mac OS X. We can now iterate on this to make the build work on both linux and macosx. llvm-svn: 108009
* typedef fixups, patch from Jean-Daniel Dupas.Greg Clayton2010-07-071-1/+1
| | | | llvm-svn: 107794
* Fix GetRepeatCommand so it works with multi-word commands.Jim Ingham2010-07-0712-749/+778
| | | | | | | | 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
* Added a "GetRepeatCommand" to the command object. The Interpreter uses thisJim Ingham2010-07-061-0/+7
| | | | | | | | instead of the last history item to provide a command for the "empty" command. Use this in the source-file command to make <RETURN> continue the listing rather than relist the first listing... llvm-svn: 107736
* Hide the logic for command resolution for commands, aliases & user commands ↵Jim Ingham2010-07-062-8/+13
| | | | | | | | | | | | behind a single interface so everybody does it the same way. Add an "exact" lookup for internal uses. Fix up a few little cases where we weren't reporting command lookup errors correctly. Added "b" as an alias for "breakpoint" so it doesn't collide with "bt". llvm-svn: 107718
* Jean-Daniel Dupas patch that fixes a bad if statement with assignment.Greg Clayton2010-07-061-1/+1
| | | | llvm-svn: 107671
* Added the skeleton of an IR transformer that willSean Callanan2010-07-031-1/+19
| | | | | | | | | | prepare IR for execution in the target. Wired the expression command to use this IR transformer when conversion to DWARF fails, and wired conversion to DWARF to always fail (well, we don't generate any DWARF...) llvm-svn: 107559
* Remove duplicate def'n from FileSpec.h.Jim Ingham2010-07-021-26/+53
| | | | | | Add user name completion to the file completer. llvm-svn: 107455
* Added a SemaConsumer that transforms the ASTs forSean Callanan2010-07-011-1/+1
| | | | | | | | | an expression, adding code to put the value of the last expression (if there is one) into a variable and write the address of that variable to a global pointer. llvm-svn: 107419
* Centralized all disassembly into static functions in ↵Greg Clayton2010-06-303-208/+66
| | | | | | | | | | | | | | | | | | | | | | | | source/Core/Disassembler.cpp. Added the ability to read memory from the target's object files when we aren't running, so disassembling works before you run! Cleaned up the API to lldb_private::Target::ReadMemory(). Cleaned up the API to the Disassembler to use actual "lldb_private::Address" objects instead of just an "addr_t". This is nice because the Address objects when resolved carry along their section and module which can get us the object file. This allows Target::ReadMemory to be used when we are not running. Added a new lldb_private::Address dump style: DumpStyleDetailedSymbolContext This will show a full breakdown of what an address points to. To see some sample output, execute a "image lookup --address <addr>". Fixed SymbolContext::DumpStopContext(...) to not require a live process in order to be able to print function and symbol offsets. llvm-svn: 107350
* Fix an obvious typo and replace deprecated bcopy(3) with memcpy(3).Benjamin Kramer2010-06-301-2/+2
| | | | llvm-svn: 107281
* Add a source file completer to the CommandCompleters.Jim Ingham2010-06-307-10/+288
| | | | | | | | Add a way for the completers to say whether the completed argument should have a space inserted after is or not. Added the file name completer to the "file" command. llvm-svn: 107247
* Fixed debug map in executable + DWARF in .o debugging on Mac OS X.Greg Clayton2010-06-281-8/+48
| | | | | | | | | Added the ability to dump any file in the global module cache using any of the "image dump" commands. This allows us to dump the .o files that are used with DWARF + .o since they don't belong the the target list for the current target. llvm-svn: 107100
* Added function name types to allow us to set breakpoints by name moreGreg Clayton2010-06-287-47/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | intelligently. The four name types we currently have are: eFunctionNameTypeFull = (1 << 1), // The function name. // For C this is the same as just the name of the function // For C++ this is the demangled version of the mangled name. // For ObjC this is the full function signature with the + or // - and the square brackets and the class and selector eFunctionNameTypeBase = (1 << 2), // The function name only, no namespaces or arguments and no class // methods or selectors will be searched. eFunctionNameTypeMethod = (1 << 3), // Find function by method name (C++) with no namespace or arguments eFunctionNameTypeSelector = (1 << 4) // Find function by selector name (ObjC) names this allows much more flexibility when setting breakoints: (lldb) breakpoint set --name main --basename (lldb) breakpoint set --name main --fullname (lldb) breakpoint set --name main --method (lldb) breakpoint set --name main --selector The default: (lldb) breakpoint set --name main will inspect the name "main" and look for any parens, or if the name starts with "-[" or "+[" and if any are found then a full name search will happen. Else a basename search will be the default. Fixed some command option structures so not all options are required when they shouldn't be. Cleaned up the breakpoint output summary. Made the "image lookup --address <addr>" output much more verbose so it shows all the important symbol context results. Added a GetDescription method to many of the SymbolContext objects for the more verbose output. llvm-svn: 107075
* Extensive code cleanup of the expression command.Sean Callanan2010-06-241-266/+159
| | | | | | | | | | | - Rationalized EvaluateExpression to remove a lot of nesting; also added comments to make it easy to find what's happening where - Made ExecuteRawCommandString subcontract out to EvaluateExpression - Minor logging improvements llvm-svn: 106703
* Added the temporary -i option to expr, whichSean Callanan2010-06-232-8/+32
| | | | | | | | switches the expression parsing over to use the LLVM IR as opposed to Clang ASTs. Right now, that functionality only logs. llvm-svn: 106695
* Fixed the log streams for logs that output toSean Callanan2010-06-231-10/+2
| | | | | | standard output, resolving a crasher. llvm-svn: 106682
* Very large changes that were needed in order to allow multiple connectionsGreg Clayton2010-06-2365-1305/+841
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make an explicit GetThreadSpecNoCreate accessor so you don't have to get the ↵Jim Ingham2010-06-221-1/+1
| | | | | | const-ness right to ensure you are not making a copy of the owning breakpoint's ThreadSpec in a breakpoint location. Also change the name from NoCopy to NoCreate since that's clearer. llvm-svn: 106578
* Two changes in this checkin. Added a ThreadPlanKind so that I can do some ↵Jim Ingham2010-06-191-1/+0
| | | | | | | | | | | reasoning based on the kind of thread plan without having to use RTTI. Removed the ThreadPlanContinue and replaced with a ShouldAutoContinue query that serves the same purpose. Having to push another plan to assert that if there's no other indication the target should continue when this plan is popped was flakey and error prone. This method is more stable, and fixed problems we were having with thread specific breakpoints. llvm-svn: 106378
* Remember whether a queue or thread name were passed into "breakpoint modify" ↵Jim Ingham2010-06-192-6/+18
| | | | | | so we can recognize an empty argument as unsetting the option. llvm-svn: 106377
* Move the "status" command to "process status" since that's where it belongs. ↵Jim Ingham2010-06-183-141/+79
| | | | | | | | Also make it print "running" if invoked when the current process is running. llvm-svn: 106265
* Change "breakpoint configure" to "breakpoint modify" so it doesn't collide ↵Jim Ingham2010-06-182-43/+64
| | | | | | | | with "breakpoint command" Change "breakpoint enable/disable" so changing a breakpoint's state doesn't also overwrite the location states. llvm-svn: 106261
* Unstick the -r option for the disassemble command.Sean Callanan2010-06-171-0/+1
| | | | llvm-svn: 106186
* Add a "thread specification" class that specifies thread specific ↵Jim Ingham2010-06-164-10/+365
| | | | | | | | | | | | breakpoints by name, index, queue or TID. Push this through all the breakpoint management code. Allow this to be set when the breakpoint is created. Fix the Process classes so that a breakpoint hit that is not for a particular thread is not reported as a breakpoint hit event for that thread. Added a "breakpoint configure" command to allow you to reset any of the thread specific options (or the ignore count.) llvm-svn: 106078
* Move Args.{cpp,h} and Options.{cpp,h} to Interpreter where they really belong.Jim Ingham2010-06-1535-44/+44
| | | | llvm-svn: 106034
* Change the Options parser over to use a mask rather than an ordinal for ↵Jim Ingham2010-06-1515-186/+150
| | | | | | | | | 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
* I have eliminated RTTI from LLDB!Greg Clayton2010-06-121-17/+4
| | | | | | | Also added a shell script build phase that fixes the headers in LLDB.framework. llvm-svn: 105899
* Moved files around for linux build. Fixed up Xcode project toGreg Clayton2010-06-125-207/+769
| | | | | | refer to the new locations. llvm-svn: 105885
* More minor build fixes.Eli Friedman2010-06-094-5/+5
| | | | llvm-svn: 105706
* Initial checkin of lldb code from internal Apple repo.Chris Lattner2010-06-0872-0/+14027
llvm-svn: 105619
OpenPOWER on IntegriCloud