[reverse RFC] test for restored machine state
Michael Snyder
msnyder@vmware.com
Tue Sep 16 23:57:00 GMT 2008
Here's a test for the question we've been discussing,
about the restored machine state after reverse execution
stops.
Although it probably would have been sufficient to test
two cases (register and memory), I went for completeness
and tested five cases:
* a register variable
* an auto variable
* a function static
* a module static, and
* a module global.
In each case, I let the program increment the variable.
Then I tested whether the pre-increment value was restored
under two conditions:
* continue backward to a breakpoint, and
* step backward.
I checked each value "before" and "after", and the
Teawater record/replay implementation passes 100 percent.
I would welcome any suggestions for improving or extending
the test. I've suggested a few possible extensions in the
comments. I did a little hoop-dancing to make it as likely
as possible that the compiler would emit a single instruction
in the register case, so we can see that the side effect of
the breakpoint instruction (incrementing the register variable)
is in fact reverted.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: machinestate.txt
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20080916/df2d5818/attachment.txt>
More information about the Gdb-patches
mailing list