RE: [FYI] tutorial for process record and reverse debugging

Jakob Engblom
2009-10-26T08:02:25Z

> >> b) Truncate the existing log at the point where I am, and
> >> start appending to the prefix?
> >
> > I never thought of this case. I see now that for non-deterministic
> > executions this could have value.
>
> Not just that, though. This is also what happens if we
> change a memory or register value, eg. a variable that
> controls a conditional branch. We auto-delete the trailing
> part of the execution log, because now we're going to go
> forward in a different direction.

This is pretty useful, actually. We have done that in Simics for a long time,
go back in time, and delete the recording of activity, to take a different path.

You can use it to "undo" mistakes (it is pretty funny to sit on a target
console, type "rm -rf /*", see the system implode... and then go back and just
undo the delete, delete the recording, and move on with an intact file system).

You can use it to systematically explore system behavior, such as going back and
changing program inputs, hardware latencies, or other controllable aspects. It
is neat for fault injection: go back, chagnge value or register or delete a
network packet, and then compare the results.

Best regards,

/jakob

_______________________________________________________

Jakob Engblom, PhD, Technical Marketing Manager

Virtutech                   Direct: +46 8 690 07 47
Drottningholmsvägen 22      Mobile: +46 709 242 646
11243 Stockholm             Web:    www.virtutech.com
Sweden
________________________________________________________

So yes, it is something that is pretty useful.