ca4c37b4874dfcbc2001852624644fa2a2c30f2c |
|
26-Jul-2013 |
Sean Callanan <scallanan@apple.com> |
Fixed several problems with watchpoint expressions. - First, the watchpoint size was being cast to the wrong type. This is primarily cosmetic, but annoying. - Second, the options for the watchpoint command were not being initialized correctly, which led to the watchpoint size sometimes having absurdly large values. This caused watchpoints to fail to be set in some cases. <rdar://problem/12658775> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
be2f9090cf7d64a0f021cbc4036f4172baba1cd2 |
|
18-Jun-2013 |
Jim Ingham <jingham@apple.com> |
We were getting an assert because somebody was making a watchpoint that was neither read nor write. Tighten up the checking so this isn't possible. <rdar://problem/14111167> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
6475c42148a8ea1ca86e5db465db7eca742d897d |
|
04-Dec-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12798131> Cleaned up the option parsing code to always pass around the short options as integers. Previously we cast this down to "char" and lost some information. I recently added an assert that would detect duplicate short character options which was firing during the test suite. This fix does the following: - make sure all short options are treated as "int" - make sure that short options can be non-printable values when a short option is not required or when an option group is mixed into many commands and a short option is not desired - fix the help printing to "do the right thing" in all cases. Previously if there were duplicate short character options, it would just not emit help for the duplicates - fix option parsing when there are duplicates to parse options correctly. Previously the option parsing, when done for an OptionGroup, would just start parsing options incorrectly by omitting table entries and it would end up setting the wrong option value git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
1e0e73a403ffbbeafa7a98e958909b56be929cf0 |
|
04-Jun-2012 |
Johnny Chen <johnny.chen@apple.com> |
Give more explicit error messages when watchpoint creation command (watchpoint set) fails, like number of supported hardware watchpoints reached or the watch size is not allowed. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
08af5983cb349e7167f3832d00d36ca611bfa2f1 |
|
16-May-2012 |
Johnny Chen <johnny.chen@apple.com> |
Include llvm/ADT/STLExtras.h from lldb/Utility/Utils.h and use llvm::array_lengthof(), instead. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
42404d284b22750851b26ae9a4ab42101f673089 |
|
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 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 '. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
6183fccd61b67e814d9e7e85b25516a28edfe864 |
|
08-Feb-2012 |
Johnny Chen <johnny.chen@apple.com> |
Refine the 'watchpoint set' command to now require either the '-v' option (for watching of a variable) or the '-e' option (for watching of an address) to be present. Update some existing test cases with the required option and add some more test cases. Since the '-v' option takes <variable-name> and the '-e' option takes <expr> as the command arg, the existing infrastructure for generating the option usage can produce confusing help message, like: watchpoint set -e [-w <watch-type>] [-x <byte-size>] <variable-name | expr> watchpoint set -v [-w <watch-type>] [-x <byte-size>] <variable-name | expr> The solution adopted is to provide an extra member field to the struct CommandArgumentData called (uint32_t)arg_opt_set_association, whose purpose is to link this particular argument data with some option set(s). Also modify the signature of CommandObject::GetFormattedCommandArguments() to: GetFormattedCommandArguments (Stream &str, uint32_t opt_set_mask = LLDB_OPT_SET_ALL) it now takes an additional opt_set_mask which can be used to generate a filtered formatted command args for help message. Options::GenerateOptionUsage() impl is modified to call the GetFormattedCommandArguments() appropriately. So that the help message now looks like: watchpoint set -e [-w <watch-type>] [-x <byte-size>] <expr> watchpoint set -v [-w <watch-type>] [-x <byte-size>] <variable-name> rdar://problem/10703256 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
9c236733d43e6250c8a5671a438f4a2afeb9c0b2 |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
e5696bd14c09cda6a1d40d97e87b089b83ef31ff |
|
18-Oct-2011 |
Johnny Chen <johnny.chen@apple.com> |
Remove stale comment. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
5a5c4a83c1e873dcd82c01e8d40c0840f436d627 |
|
18-Oct-2011 |
Johnny Chen <johnny.chen@apple.com> |
Modify the help text for watching a variable or its pointee. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
61aca5dd78f07de66e997d41af521ab9d8c16b89 |
|
07-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Re-organized the contents of RangeMap.h to be more concise and also allow for a Range, RangeArray, RangeData (range + data), or a RangeDataArray. We have many range implementations in LLDB and I will be converting over to using the classes in RangeMap.h so we can have one set of code that does ranges and searching of ranges. Fixed up DWARFDebugAranges to use the new range classes. Fixed the enumeration parsing to take a lldb_private::Error to avoid a lot of duplicated code. Now when an invalid enumeration is supplied, an error will be returned and that error will contain a list of the valid enumeration values. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
1b4525213621b2179f0841edd54842eebecd28cd |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
34bbf85e60949752de9c8272a70d59383e523cc5 |
|
13-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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
3066b250c109ee52ffa24411793ad1ecfa8ee9ab |
|
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 watchpoint option is on, only one variable with exact name (no regex) is specified as the sole command arg. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
439d0337a6515cb1dfca8843ff7164bbd5f47df1 |
|
10-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
A little bit of cleanup; set watch_mode to eWatchInvalid at the OptionParsingStarting() lifecycle point. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
4003f57f86a92411f0563f355a32e8f86ae29d5a |
|
10-Sep-2011 |
Johnny Chen <johnny.chen@apple.com> |
Refactoring: replace a bunch of static array size computation or hardcoded constant with a template function 'arraysize(static_array)', defined in Utils.h. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|
58dba3ce82715249c068abb7bf99f0d43dfbe8f9 |
|
10-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 '-w' option is not working yet. :-) git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Interpreter/OptionGroupWatchpoint.cpp
|