Re: GDB MI Reverse Commands added [2 of 3]

Greg Law
2009-08-28T17:00:12Z

Eli Zaretskii wrote:
>> Date: Fri, 28 Aug 2009 12:08:08 +0100
>> From: Greg Law <glaw@undo-software.com>
>> CC: Jakob Engblom <jakob@virtutech.com>, gdb-patches@sourceware.org
>>
>> Eli Zaretskii wrote:
>>>> From: "Jakob Engblom" <jakob@virtutech.com>
>>>> Cc: <gdb-patches@sourceware.org>
>>>> Date: Fri, 28 Aug 2009 12:05:29 +0200
>>>>
>>>> "Resumes the execution of the inferior program until a breakpoint is
>>>> encountered, or until the inferior exits. If the @samp{--reverse}
>>>> option is specified, resumes the reverse execution of the inferior
>>>> program until a breakpoint is encountered, or until the execution
>>>> reaches that start of the inferior. "
>>> ^^^^
>>> You meant "the", I presume.
>>>
>>> Otherwise, this is fine, thanks.
>> Would it be more accurate to say "start of the record log"?
>
> I don't think so, because reverse debugging is not limited to record
> and replay.
>
> But I see what you mean. Maybe this:
>
> or until the execution reaches the point that is as close to the
> inferior's start as @value{GDBN} can. (This could be the start of
> the inferior executable code or the start of the record log, for
> example.)

Yes, that's ok. But I'm struggling to think of a plausible way in which
a target could provide reverse debugging without some kind of log. Any
stateful program will clobber its state as it runs, and so to go
backwards you need to have a log somewhere that tells you what the state
was before you clobbered it. And it will not be possible to go
backwards to a time before you started recording.

Or have I misunderstood you?

(Note: I'm more interested in the semantics of reverse debugging here
rather than the exact wording in the manual :)

Greg
--
Greg Law, Undo Software http://undo-software.com/