[reverse/record] adjust_pc_after_break in reverse execution mode?

Michael Snyder msnyder@vmware.com
Thu Oct 23 23:32:00 GMT 2008


Hi Pedro,

I duplicated your test case, and found that I could
reproduce the behavior that you show below, but only
so long as the branch did not contain your
"adjust_pc_after_break" patch.

Once I added that patch to the branch, this behavior
seemed to go away.

If I look carefully at what you did below, it seems like
the forward-replay problem only shows up immediately after
the reverse-replay problem manifests.  And my experiments
reflect the same thing.

The branch is now patched.  Could you spare a moment to
play with it, and see if you can make it break again?

Thanks!

Pedro Alves wrote:
> On Sunday 19 October 2008 23:39:20, Michael Snyder wrote:
>> After codgitating for a bit (that's "thinking" when you're over 50),
>> I've decided that you're right.
>>
>> However, I have a new concern -- I'm worried about what it will do
>> when it's replaying but going forward.
>>
>> Could you possibly revisit your test and see what it does
>> if you record all the way to line 9 or 10, then back up
>> to line 6, then continue with breakpoints at 6 and 7?
> 
> Eh, you're right.  It's broken.
> 
> (gdb) record
> (gdb) b 6
> Breakpoint 2 at 0x8048352: file nop.c, line 6.
> (gdb) b 7
> Breakpoint 3 at 0x8048353: file nop.c, line 7.
> (gdb) n
> 
> Breakpoint 3, main () at nop.c:7
> 7               asm ("nop");
> (gdb) n
> 8               asm ("nop");
> (gdb)
> 9               asm ("nop");
> (gdb) n
> 10      }
> (gdb) rc
> Continuing.
> 
> Breakpoint 3, main () at nop.c:7
> 7               asm ("nop");
> (gdb) rn
> 
> No more reverse-execution history.
> main () at nop.c:6
> 6               asm ("nop");
> (gdb) n
> 
> Breakpoint 2, main () at nop.c:6
> 6               asm ("nop");
> (gdb)
> 8               asm ("nop");
> (gdb)
> 9               asm ("nop");
> (gdb)
> 
> 
> 
> --
> Pedro Alves



More information about the Gdb-patches mailing list