Re: [RFC] reverse-step, reverse-next

Daniel Jacobowitz
2005-09-17T22:19:09Z

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