This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC] reverse-step, reverse-next
- From: Daniel Jacobowitz <drow at false dot org>
- To: Michael Snyder <msnyder at redhat dot com>
- Cc: GDB Patches <gdb-patches at sources dot redhat dot com>, jrydberg at virtutech dot com
- Date: Sat, 17 Sep 2005 18:18:58 -0400
- Subject: Re: [RFC] reverse-step, reverse-next
- References: <431F6D55.5040501@redhat.com>
On Wed, Sep 07, 2005 at 03:44:37PM -0700, Michael Snyder wrote:
> This isn't for submission, just for discussion. This is something
> that Johan Rydberg (of Virtutech) and I have been working on.
>
> I'd like to hear what everybody thinks about this
> bit of infrun implementation for the reverse debugging
> that we discussed a few months ago.
>
> This part is enough to get step and next to work in reverse,
> based solely on the assumption that the backend (or someone)
> provides an interface "get_exec_direction ()", which returns
> forward or reverse. It's also assumed that the backend will
> know which direction to go (leaving user-interface issues
> out of the picture). One can imagine either a "set direction"
> interface, or a "reverse-step/reverse-continue".
>
> This is actually tested and working with the Simics simulator.
> It steps and nexts backwards like a champ.
>
> The only other bit of explanation that might be required
> is that "NO_HISTORY" means you were going backward and
> the target ran out of state data (you reached the beginning
> of time).
The whole thing looks generally plausible to me, too.
My only comment is that all the twisty bits of infrun that you're
modifying are crying out in the night for someone to gut them and
replace them with something more legible. And hopefully to think about
backwards execution while doing that. But in the mean time, that's a
bit much to ask of anyone.
--
Daniel Jacobowitz
CodeSourcery, LLC