[Lldb-commits] [PATCH] D25057: Fix ARM/AArch64 Step-Over watchpoint issue remove provision for duplicate watchpoints
Jim Ingham via lldb-commits
lldb-commits at lists.llvm.org
Wed Oct 19 10:34:15 PDT 2016
> On Oct 4, 2016, at 9:28 AM, Pavel Labath via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>
> Also, apparently lldb has a bug, where it mishandles the case where you do a (user-level) single step over an instruction triggering a watchpoint. That would be pretty important to fix as well.
Do you have a reference for this? In a trivial case, it works correctly on MacOS so far as I can tell:
(lldb) si
Process 99358 stopped
* thread #1: tid = 0x148d67e, function: main , stop reason = instruction step into
frame #0: 0x0000000100000f5e changeit`main at changeit.c:9
6
7 printf("my_var is: %d.\n", my_var);
8
-> 9 my_var = 20;
10
11 printf("my_var is: %d.\n", my_var);
12
changeit`main:
-> 0x100000f5e <+46>: movl $0x14, -0x8(%rbp)
0x100000f65 <+53>: movl -0x8(%rbp), %esi
0x100000f68 <+56>: movl %eax, -0xc(%rbp)
0x100000f6b <+59>: movb $0x0, %al
(lldb) si
Watchpoint 1 hit:
old value: 10
new value: 20
Process 99358 stopped
* thread #1: tid = 0x148d67e, function: main , stop reason = watchpoint 1
frame #0: 0x0000000100000f65 changeit`main at changeit.c:11
8
9 my_var = 20;
10
-> 11 printf("my_var is: %d.\n", my_var);
12
13 return 0;
14 }
changeit`main:
-> 0x100000f65 <+53>: movl -0x8(%rbp), %esi
0x100000f68 <+56>: movl %eax, -0xc(%rbp)
0x100000f6b <+59>: movb $0x0, %al
0x100000f6d <+61>: callq 0x100000f80 ; symbol stub for: printf
Jim
More information about the lldb-commits
mailing list