This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Return to Reverse Execution
- From: Julian Smith <support at undo-software dot com>
- To: gdb at sources dot redhat dot com
- Date: Tue, 16 May 2006 20:18:33 +0100
- Subject: Re: Return to Reverse Execution
- References: <43BC376F.4000307@redhat.com>
On Wed, 04 Jan 2006 13:00:31 -0800
Michael Snyder <msnyder@redhat.com> wrote:
> Over the past several months, there's been some great discussion
> of this topic, and even some trial patches sent out for comment.
>
> I'd like to start preparing a real submission for approval.
> I'm testing the waters now, to see how close we may be to
> converging on an acceptable interface spec.
>
> So here is my proposed gdb user interface.
We've been busy the past year or so making such a "reverse execution"
engine (we call it a bidirectional debugger). It's debugger neutral,
but our first supported front end is gdb. As such we've patched gdb-6.4
to provide support for our new commands. Communication between gdb and
the bidirectional debugger engine is via a pair of FIFOs.
You can check it out at http://undo-software.com/
> 1) A set of new commands that mimic the existing ones,
> to include:
> reverse-step (rs)
> reverse-next (rn)
> reverse-continue (rc)
> reverse-finish (rf)
We decided on using a `b' prefix to existing execution commands: bnext,
bnexti, bstep, bstepi, buntil and bfinish. There are also new commands:
`bgoton' goes back to an arbitrary temporal position, `bgoto' goes back
to an arbitrary place (e.g. `bgoto foo.c:23') and `bget' displays the
current temporal position.
If gdb develops a set of standard commands, we'd definitely use them.
The above ones seem to work well, but might not cover all types of
reverse execution engines.
- Julian
--
http://undo-software.com/