#
2ffa754a |
| 08-Feb-2012 |
Johnny Chen <johnny.chen@apple.com> |
After discussions with Jim and Greg, modify the 'watchpoint set' command to become a mutiword command with subcommand 'expression' and 'variable'. The first subcommand is for supplying an expression
After discussions with Jim and Greg, modify the 'watchpoint set' command to become a mutiword command with subcommand 'expression' and 'variable'. The first subcommand is for supplying an expression to be evaluated into an address to watch for, while the second is for watching a variable.
'watchpoint set expression' is a raw command, which means that you need to use the "--" option terminator to end the '-w' or '-x' option processing and to start typing your expression.
Also update several test cases to comply and add a couple of test cases into TestCompletion.py, in particular, test that 'watchpoint set ex' completes to 'watchpoint set expression ' and that 'watchpoint set var' completes to 'watchpoint set variable '.
llvm-svn: 150109
show more ...
|
#
3434b19d |
| 08-Feb-2012 |
Johnny Chen <johnny.chen@apple.com> |
Clarify the 'frame variable' help message regarding the watchpoint functionality.
llvm-svn: 150039
|
#
fe3bdad3 |
| 06-Feb-2012 |
Johnny Chen <johnny.chen@apple.com> |
Add help string for 'frame variable' to link to 'watchpoint set' which allows for using an expression to specify the address to watch for.
rdar://problem/10703290
llvm-svn: 149917
|
#
6efba4fc |
| 26-Jan-2012 |
Greg Clayton <gclayton@apple.com> |
Fixed formats being able to be applied recursively when using: target variable -f <format> [args] frame variable -f <format> [args] expression -f <format> -- expr
llvm-svn: 149080
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2 |
|
#
5009f9d5 |
| 27-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Added support for the new ".apple_objc" accelerator tables. These tables are in the same hashed format as the ".apple_names", but they map objective C class names to all of the methods and class func
Added support for the new ".apple_objc" accelerator tables. These tables are in the same hashed format as the ".apple_names", but they map objective C class names to all of the methods and class functions. We need to do this because in the DWARF the methods for Objective C are never contained in the class definition, they are scattered about at the translation unit level and they don't even have attributes that say the are contained within the class itself.
Added 3 new formats which can be used to display data:
eFormatAddressInfo eFormatHexFloat eFormatInstruction eFormatAddressInfo describes an address such as function+offset and file+line, or symbol + offset, or constant data (c string, 2, 4, 8, or 16 byte constants). The format character for this is "A", the long format is "address".
eFormatHexFloat will print out the hex float format that compilers tend to use. The format character for this is "X", the long format is "hex float".
eFormatInstruction will print out disassembly with bytes and it will use the current target's architecture. The format character for this is "i" (which used to be being used for the integer format, but the integer format also has "d", so we gave the "i" format to disassembly), the long format is "instruction".
Mate the lldb::FormatterChoiceCriterion enumeration private as it should have been from the start. It is very specialized and doesn't belong in the public API.
llvm-svn: 143114
show more ...
|
#
86edbf41 |
| 26-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Cleaned up many error codes. For any who is filling in error strings into lldb_private::Error objects the rules are: - short strings that don't start with a capitol letter unless the name is a clas
Cleaned up many error codes. For any who is filling in error strings into lldb_private::Error objects the rules are: - short strings that don't start with a capitol letter unless the name is a class or anything else that is always capitolized - no trailing newline character - should be one line if possible
Implemented a first pass at adding "--gdb-format" support to anything that accepts format with optional size/count.
llvm-svn: 142999
show more ...
|
#
1deb7962 |
| 25-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Updated all commands that use a "--format" / "-f" options to use the new OptionGroupFormat. Updated OptionGroupFormat to be able to also use the "--size" and "--count" options. Commands that use a Op
Updated all commands that use a "--format" / "-f" options to use the new OptionGroupFormat. Updated OptionGroupFormat to be able to also use the "--size" and "--count" options. Commands that use a OptionGroupFormat instance can choose which of the options they want by initializing OptionGroupFormat accordingly. Clients can either get only the "--format", "--format" + "--size", or "--format" + "--size" + "--count". This is in preparation for upcoming chnages where there are alternate ways (GDB format specification) to set a format.
llvm-svn: 142911
show more ...
|
Revision tags: llvmorg-3.0.0-rc1 |
|
#
01a67860 |
| 14-Oct-2011 |
Johnny Chen <johnny.chen@apple.com> |
SBValue::Watch() and SBValue::WatchPointee() are now the official API for creating a watchpoint for either the variable encapsulated by SBValue (Watch) or the pointee encapsulated by SBValue (WatchPo
SBValue::Watch() and SBValue::WatchPointee() are now the official API for creating a watchpoint for either the variable encapsulated by SBValue (Watch) or the pointee encapsulated by SBValue (WatchPointee).
Removed SBFrame::WatchValue() and SBFrame::WatchLocation() API as a result of that.
Modified the watchpoint related test suite to reflect the change.
Plus replacing WatchpointLocation with Watchpoint throughout the code base.
There are still cleanups to be dome. This patch passes the whole test suite. Check it in so that we aggressively catch regressions.
llvm-svn: 141925
show more ...
|
#
f56c0137 |
| 30-Sep-2011 |
Jason Molenda <jmolenda@apple.com> |
Small fix to "frame select" sans frame # feature added yesterday.
llvm-svn: 140901
|
#
b62a3be1 |
| 30-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add an accompanying option to the 'frame variable -w' command to, instead of watching the variable, watch the location pointed to by the variable. An example,
(lldb) frame variable -w write -x 1 -g
Add an accompanying option to the 'frame variable -w' command to, instead of watching the variable, watch the location pointed to by the variable. An example,
(lldb) frame variable -w write -x 1 -g g_char_ptr (char *) g_char_ptr = 0x0000000100100860 ""... Watchpoint created: WatchpointLocation 1: addr = 0x100100860 size = 1 state = enabled type = w declare @ '/Volumes/data/lldb/svn/trunk/test/functionalities/watchpoint/hello_watchlocation/main.cpp:21'
...
(lldb) c Process 3936 resuming
...
rocess 3936 stopped * thread #2: tid = 0x3403, 0x00000001000009b7 a.out`do_bad_thing_with_location(char*, char) + 23 at main.cpp:27, stop reason = watchpoint 1 frame #0: 0x00000001000009b7 a.out`do_bad_thing_with_location(char*, char) + 23 at main.cpp:27 24 do_bad_thing_with_location(char *char_ptr, char new_val) 25 { 26 *char_ptr = new_val; -> 27 } 28 29 uint32_t access_pool (uint32_t flag = 0); 30 (lldb)
Also add TestWatchLocation.py test to exercise this functionality.
llvm-svn: 140836
show more ...
|
#
82d4a2b9 |
| 29-Sep-2011 |
Jason Molenda <jmolenda@apple.com> |
Add an additional "frame select" usage where it will re-select the current frame if no frame is specified. This is useful to get the source context lines re-displayed when you need a reminder of whe
Add an additional "frame select" usage where it will re-select the current frame if no frame is specified. This is useful to get the source context lines re-displayed when you need a reminder of where you are in the source currently.
llvm-svn: 140819
show more ...
|
#
586e8ea4 |
| 28-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fix help string for "frame variable".
llvm-svn: 140714
|
#
5d043464 |
| 26-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add SB API class SBWatchpointLocation and some extra methods to the SBTarget class to iterate on the available watchpoint locations and to perform watchpoint manipulations.
I still need to export th
Add SB API class SBWatchpointLocation and some extra methods to the SBTarget class to iterate on the available watchpoint locations and to perform watchpoint manipulations.
I still need to export the SBWatchpointLocation class as well as the added watchpoint manipulation methods to the Python interface. And write test cases for them.
llvm-svn: 140575
show more ...
|
#
c14ee32d |
| 22-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
Converted the lldb_private::Process over to use the intrusive shared pointers.
Changed the ExecutionContext over to use shared pointers for the target, process, thread and frame since these objects
Converted the lldb_private::Process over to use the intrusive shared pointers.
Changed the ExecutionContext over to use shared pointers for the target, process, thread and frame since these objects can easily go away at any time and any object that was holding onto an ExecutionContext was running the risk of using a bad object.
Now that the shared pointers for target, process, thread and frame are just a single pointer (they all use the instrusive shared pointers) the execution context is much safer and still the same size.
Made the shared pointers in the the ExecutionContext class protected and made accessors for all of the various ways to get at the pointers, references, and shared pointers.
llvm-svn: 140298
show more ...
|
#
18d7b950 |
| 16-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fix typo.
llvm-svn: 139948
|
#
2a82cd52 |
| 16-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add comment.
llvm-svn: 139947
|
#
de6bd243 |
| 16-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add a declaraion info member field to the WatchpointLocation class. Modify CommandObjectFrame.cpp to populate this field when creating a watchpoint location. Update the test case to verify that the d
Add a declaraion info member field to the WatchpointLocation class. Modify CommandObjectFrame.cpp to populate this field when creating a watchpoint location. Update the test case to verify that the declaration info matches the file and line number.
llvm-svn: 139946
show more ...
|
#
2fd89a09 |
| 13-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Get the address and the size of the variable for passing to the Target::CreateWatchpointLocation() method.
llvm-svn: 139614
|
#
1e49e5e7 |
| 12-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Remove an unnecessary 'else { ... }', which adds to vertical as well as horizontal spans, from CommandObjectFrame::Execute().
llvm-svn: 139561
|
#
887062ae |
| 12-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Watchpoint WIP:
o Rename from OptionGroupWatchpoint::WatchMode to OptionGroupWatchpoint::WatchType, and CommandArgumentType::eArgTypeWatchMode to CommandArgumentType::eArgTypeWatchType. Update t
Watchpoint WIP:
o Rename from OptionGroupWatchpoint::WatchMode to OptionGroupWatchpoint::WatchType, and CommandArgumentType::eArgTypeWatchMode to CommandArgumentType::eArgTypeWatchType. Update the sources to reflect the change.
o Add a CreateWatchpointLocation() method to Target class, which is currently not implmeneted (returns an empty WatchpointLocationSP object). Add logic to CommandObjectFrame::Execute() to exercise the added API for creating a watchpoint location.
llvm-svn: 139560
show more ...
|
#
926d086e |
| 12-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fix indentations, add some comments.
llvm-svn: 139534
|
#
3a9838c0 |
| 12-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fix a bug in OptionGroupWatchpoint.cpp where the '-w' option arg parsing result was not checked to effect an early error return.
Plus add logic to 'frame variable' command object to check that when
Fix a bug in OptionGroupWatchpoint.cpp where the '-w' option arg parsing result was not checked to effect an early error return.
Plus add logic to 'frame variable' command object to check that when watchpoint option is on, only one variable with exact name (no regex) is specified as the sole command arg.
llvm-svn: 139524
show more ...
|
#
78d0638b |
| 09-Sep-2011 |
Enrico Granata <granata.enrico@gmail.com> |
Renaming a bulk of method calls from Get() to something more descriptive
llvm-svn: 139435
|
#
b1d7529e |
| 09-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add OptionGroupWatchpoint.cpp/.h (preparatory work) for hooking up watchpoint to the 'frame variable' comand. To watch a variable for read/write, issue:
frame variable -w read_write
Note that '
Add OptionGroupWatchpoint.cpp/.h (preparatory work) for hooking up watchpoint to the 'frame variable' comand. To watch a variable for read/write, issue:
frame variable -w read_write
Note that '-w' option is not working yet. :-)
llvm-svn: 139434
show more ...
|
#
2592b872 |
| 08-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Remove code rot (unused class OptionGroupFrameVariable) from CommandObjectFrameVariable. Plus minor indentation change.
llvm-svn: 139335
|