This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Return to Reverse Execution


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]