Re: [discuss] Support for reverse-execution

Eli Zaretskii
2005-05-20T10:47:00Z

> Date: Thu, 19 May 2005 10:52:54 +0930
> From: Dan Shearer <dan@shearer.org>
>
> Imagine two new gdb commands, get-bookmark and goto-bookmark.
> get-bookmark asks the simulator for a token which uniquely identifies
> the current state of the system. goto-bookmark gives a token back to the
> simulator and asks the simulator to load system state as it was at the
> time of the bookmark. The token is an arbitary number that makes sense
> to the particular simulator. Some might count in clock cycles, others in
> milliseconds or maybe the number of the checkpoint that corresponds to
> the state at that time. All gdb knows about is the value of the
> bookmark.
>
> This gives a gdb user the capability to explore alternative futures
> without a complicated interface. A sequence might be get-bookmark,
> change a value, run for ten seconds. Break, goto-bookmark, try another
> value and run for ten seconds. Like an infinite rewind-replay facility,
> very helpful when part of the pain is getting the circumstances just
> right for the bug to appear.
>
> It would be an interesting discussion to see how bookmarks could be
> incorporated into the gdb framework.

Sounds like a very useful feature. However, I think we need to
support giving meaningful names to bookmarks, since a (more or less
arbitrary) number used by the target is going to lack any mnemonic
value.