mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
GDB can create watchpoints watching the same address. This was causing assertion failures. To handle this, hash table (with key watched address) is replaced by an xarray of address/lengh/kind. Fully identical watches are ignored (either not inserted, and not causing a problem if already deleted). gdbserver_tests/mcwatchpoint enhanced to test duplicated watchpoints git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12637
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
Breakpoint 1 at 0x........: file watchpoints.c, line 7.
|
|
Continuing.
|
|
Breakpoint 1, breakme (line=19) at watchpoints.c:7
|
|
7 fprintf(stderr, "breakme function called from line %d\n", line);
|
|
Hardware read watchpoint 2: undefined[0]
|
|
Hardware access (read/write) watchpoint 3: undefined[4]
|
|
Hardware watchpoint 4: undefined[8]
|
|
Hardware read watchpoint 5: undefined[9]
|
|
Hardware access (read/write) watchpoint 6: undefined[9]
|
|
Hardware watchpoint 7: undefined[9]
|
|
Continuing.
|
|
Hardware read watchpoint 2: undefined[0]
|
|
Value = 117 'u'
|
|
main (argc=1, argv=0x........) at watchpoints.c:23
|
|
23 if (undefined[0] == 'u')
|
|
Continuing.
|
|
Hardware access (read/write) watchpoint 3: undefined[4]
|
|
Value = 102 'f'
|
|
main (argc=1, argv=0x........) at watchpoints.c:28
|
|
28 if (undefined[4] == 'f')
|
|
Continuing.
|
|
Hardware access (read/write) watchpoint 3: undefined[4]
|
|
Old value = 102 'f'
|
|
New value = 70 'F'
|
|
main (argc=1, argv=0x........) at watchpoints.c:46
|
|
46 fprintf(stderr, "before writing 8\n");
|
|
Continuing.
|
|
Hardware watchpoint 4: undefined[8]
|
|
Old value = 100 'd'
|
|
New value = 68 'D'
|
|
main (argc=1, argv=0x........) at watchpoints.c:49
|
|
49 fprintf(stderr, "after writing 8\n");
|
|
Delete all breakpoints? (y or n) [answered Y; input not from terminal]
|
|
Continuing.
|