This is the mail archive of the
mailing list for the GDB project.
Re: [RFC] reverse-step, reverse-next
- From: Stan Shebs <shebs at apple dot com>
- 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: Thu, 08 Sep 2005 14:41:18 -0700
- Subject: Re: [RFC] reverse-step, reverse-next
- References: <431F6D55.email@example.com>
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.
Seems plausible to me. I've actually been experimenting with
a reverse execution prototype based on GDB managing all the
checkpoints, rather than pushing them down into the target as
Simics apparently does, and while GDB-managed checkpoints are
more powerful in some ways (random access to arbitrary states,
general undo), it's also looking rather more complicated.
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".
Presumably there is a set_exec_direction, and both it and
get_exec_direction are target vector entries?
BTW, I have a little discussion of usage models for reverse
execution that I'm planning to post on Monday.