> On Oct 4, 2016, at 9:28 AM, Pavel Labath via lldb-commits 
> <lldb-commits@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

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to