- Sep 07, 2010
-
-
Johnny Chen authored
after the recent checkin. llvm-svn: 113206
-
Greg Clayton authored
parent, sibling and first child block, and access to the inline function information. Added an accessor the StackFrame: Block * lldb_private::StackFrame::GetFrameBlock(); LLDB represents inline functions as lexical blocks that have inlined function information in them. The function above allows us to easily get the top most lexical block that defines a stack frame. When there are no inline functions in function, the block returned ends up being the top most block for the function. When the PC is in an inlined funciton for a frame, this will return the first parent block that has inlined function information. The other accessor: StackFrame::GetBlock() will return the deepest block that matches the frame's PC value. Since most debuggers want to display all variables in the current frame, the Block returned by StackFrame::GetFrameBlock can be used to retrieve all variables for the current frame. Fixed the lldb_private::Block::DumpStopContext(...) to properly display inline frames a block should display all of its inlined functions. Prior to this fix, one of the call sites was being skipped. This is a separate code path from the current default where inlined functions get their own frames. Fixed an issue where a block would always grab variables for any child inline function blocks. llvm-svn: 113195
-
Greg Clayton authored
Fixed an error that could occur during disassembly that could cause a function name to be printed before the first _and_ the second instruction of disassembly when there are two symbols -- one debug symbol and one linker symbol. llvm-svn: 113181
-
Greg Clayton authored
Fixed a buffer overrun error that could occur every time the program was run due to a "sprintf" with a destination string that was too short. llvm-svn: 113180
-
Greg Clayton authored
Fixed an error where a random string would get executed after a recent fix that checked if the window column size was zero was added on the lldb driver startup. llvm-svn: 113179
-
- Sep 04, 2010
-
-
Jim Ingham authored
llvm-svn: 113046
-
Caroline Tice authored
This is a very large commit that completely re-does the way lldb 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
-
Johnny Chen authored
llvm-svn: 113039
-
Johnny Chen authored
in order to be run. And added a default build phase at the beginning of the method. llvm-svn: 113037
-
Greg Clayton authored
llvm-svn: 113032
-
Johnny Chen authored
llvm-svn: 113030
-
Johnny Chen authored
llvm-svn: 113029
-
Johnny Chen authored
Marked test_with_dwarf() as expectedFailure where 'image lookup -t days' returns nothing. llvm-svn: 113028
-
Greg Clayton authored
llvm-svn: 113023
-
Johnny Chen authored
execution context only when the process is still alive. When running the test suite, the debugger is launching and killing processes constantly. This might be the cause of the test hang as reported in rdar://problem/8377854, where the debugger was looping infinitely trying to update a supposedly stale thread list. llvm-svn: 113022
-
- Sep 03, 2010
-
-
Greg Clayton authored
llvm-svn: 113012
-
Greg Clayton authored
not release it by making sure a mutex locker object is appropriately used. llvm-svn: 112996
-
Jim Ingham authored
Also move "Carbon.framework" to the right place. llvm-svn: 112993
-
Benjamin Kramer authored
Pacify operator precedence warnings. No functionality change because eLaunchFlagDisableASLR happens to be 1. llvm-svn: 112985
-
Greg Clayton authored
Added extra logging for stepping. Fixed an issue where cached stack frame data could be lost between runs when the thread plans read a stack frame. llvm-svn: 112973
-
Johnny Chen authored
Also changed the expected strings to be matched since "thread list" changed its output format. llvm-svn: 112880
-
- Sep 02, 2010
-
-
Greg Clayton authored
might dump file paths that allows the dumping of full paths or just the basenames. Switched the stack frame dumping code to use just the basenames for the files instead of the full path. Modified the StackID class to no rely on needing the start PC for the current function/symbol since we can use the SymbolContextScope to uniquely identify that, unless there is no symbol context scope. In that case we can rely upon the current PC value. This saves the StackID from having to calculate the start PC when the StackFrame::GetStackID() accessor is called. Also improved the StackID less than operator to correctly handle inlined stack frames in the same stack. llvm-svn: 112867
-
Johnny Chen authored
method where they belong. Also fixed a logic error in maintaining the command interface flag (runStarted) indicating whether the lldb "run"/"process launch" command has been issued. It was erroneously cleared. Modified the test cases to take advantage of the refactoring. llvm-svn: 112863
-
Johnny Chen authored
llvm-svn: 112824
-
Greg Clayton authored
function statics, file globals and static variables) that a frame contains. The StackFrame objects can give out ValueObjects instances for each variable which allows us to track when a variable changes and doesn't depend on variable names when getting value objects. StackFrame::GetVariableList now takes a boolean to indicate if we want to get the frame compile unit globals and static variables. The value objects in the stack frames can now correctly track when they have been modified. There are a few more tweaks needed to complete this work. The biggest issue is when stepping creates partial stacks (just frame zero usually) and causes previous stack frames not to match up with the current stack frames because the previous frames only has frame zero. We don't really want to require that all previous frames be complete since stepping often must check stack frames to complete their jobs. I will fix this issue tomorrow. llvm-svn: 112800
-
Sean Callanan authored
expressions. If an expression dereferences an invalid pointer, there will still be a crash - just now the crash will be in the function ___clang_valid_pointer_check(). llvm-svn: 112785
-
Jim Ingham authored
llvm-svn: 112782
-
Johnny Chen authored
llvm-svn: 112750
-
Johnny Chen authored
llvm-svn: 112749
-
- Sep 01, 2010
-
-
Johnny Chen authored
llvm-svn: 112732
-
Jim Ingham authored
Stream::Printf doesn't add a newline, so it needs to be added to all the error messages in CommandObjectExpression::EvaluateExpression. llvm-svn: 112731
-
Sean Callanan authored
llvm-svn: 112725
-
Sean Callanan authored
expressions. Values used by the expression are checked by validation functions which cause the program to crash if the values are unsafe. Major changes: - Added IRDynamicChecks.[ch], which contains the core code related to this feature - Modified CommandObjectExpression to install the validator functions into the target process. - Added an accessor to Process that gets/sets the helper functions llvm-svn: 112690
-
Johnny Chen authored
llvm-svn: 112688
-
Johnny Chen authored
argument when issuing a "run" lldb command within the test case meant to exercise the Python APIs, but is using the command interface due to certain reason (such as target.LaunchProcess() does not reliably bring up the inferior). llvm-svn: 112682
-
Jim Ingham authored
llvm-svn: 112679
-
Johnny Chen authored
llvm-svn: 112670
-
Johnny Chen authored
expectedFailure because in dwarf format, "variable list this" returns an error. llvm-svn: 112660
-
- Aug 31, 2010
-
-
Johnny Chen authored
llvm-svn: 112646
-
Greg Clayton authored
were not needed and fixed a merge issue. llvm-svn: 112626
-