Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Greg Law <glaw@undo-software.com>
To: Marc Khouzam <marc.khouzam@ericsson.com>
Cc: 'Greg Law' <glaw@undo-software.com>,
	  'Michael Snyder' <msnyder@vmware.com>,
	 'Hui Zhu' <teawater@gmail.com>,
	  "'gdb@sourceware.org'" <gdb@sourceware.org>
Subject: Re: [FYI] tutorial for process record and reverse debugging
Date: Sat, 24 Oct 2009 19:29:00 -0000	[thread overview]
Message-ID: <4AE34766.9060305@undo-software.com> (raw)
In-Reply-To: <F7CE05678329534C957159168FA70DEC5157AEC0C7@EUSAACMS0703.eamcs.ericsson.se>

Marc Khouzam wrote:
> 
> 
>> [...]
>>> Or do you imagine it being the default?
>>> 
>> FWIW, early versions of UndoDB operated in "Marc-mode".  We changed
>> it because replay mode and record are quite different, particularly
>> w.r.t. to the program's interaction with the outside world.
>> "Silent" transition from replay to record mode could be quite
>> confusing/surprising.
> 
> In cases where the program does interact with the outside world, I
> agree that "auto-mode" could be confusing.  In fact, "record mode" 
> may not be the one we want in this case either.  For instance, in 
> some cases I may want to re-execute instructions that affect the
> outside world, even if I'm gone backwards.  In this case I would want
> to use the recorded  data to go backwards, but never to go forward
> (never use "replay mode").

I'm not completely sure of the behaviour of process record here, but
UndoDB in replay mode is completely "neutered", in that the results of
all system calls are 'synthesised'.  So if, say, in record mode your
program unlinks a file, then in replay mode the fact the filename is no
longer present on the filesystem doesn't matter - we don't really do an 
unlink, we just replay the results of whatever unlink returned when in 
record mode.

I *believe* process record does the same, as would any reasonably sane
reversible debugging approach.   If you can step back over an
instruction, you do so without actually executing the instructions in
question.  So it seems reasonable that in replay mode you can also step
forwards, but without actually executing the instruction.

> 
> This is giving me two ideas: 1- the frontend (my problem) would
> benefit in showing to the user if we are currently "executing" or
> "replaying".  some minimal support from GDB would help there.

I agree this would be very useful for the user.

> 
> 2- we could define a set of behaviors or modes for these scenarios 
> record mode auto record mode replay record mode execute ...

Yes, that should work.  I can see giving the user the ability to tweak
it would help.  I think the default should be to stop, but what the 
default is could always be overridden by the frontend.

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


  reply	other threads:[~2009-10-24 18:29 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-17 23:48 Michael Snyder
2009-10-19 12:36 ` Hui Zhu
2009-10-19 12:57 ` Marc Khouzam
2009-10-19 13:06   ` Hui Zhu
2009-10-19 13:20     ` Marc Khouzam
2009-10-19 16:35       ` Hui Zhu
2009-10-20  0:59         ` Michael Snyder
2009-10-19 18:24       ` Michael Snyder
2009-10-20  6:44         ` Marc Khouzam
2009-10-20 21:01           ` Michael Snyder
2009-10-21  5:16             ` Greg Law
2009-10-21 15:40               ` Marc Khouzam
2009-10-24 19:29                 ` Greg Law [this message]
2009-10-25  2:01                   ` Michael Snyder
2009-10-26  3:05                   ` Marc Khouzam
2009-10-26  9:59                 ` Jakob Engblom
2009-10-22  6:31               ` Michael Snyder
2009-10-21 15:06             ` Marc Khouzam
2009-10-26  7:54             ` Hui Zhu
2009-10-26  8:06             ` Jakob Engblom
2009-10-26  7:58       ` Jakob Engblom
2009-10-26 19:10         ` Michael Snyder
2009-10-27 18:32           ` Jakob Engblom
2009-10-19 18:23   ` Michael Snyder
2009-10-26  3:12     ` Hui Zhu
2009-10-26  8:02     ` Jakob Engblom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AE34766.9060305@undo-software.com \
    --to=glaw@undo-software.com \
    --cc=gdb@sourceware.org \
    --cc=marc.khouzam@ericsson.com \
    --cc=msnyder@vmware.com \
    --cc=teawater@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox