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

Marc Khouzam wrote:
>> -----Original Message-----
>> From: gdb-owner@sourceware.org 
>> [mailto:gdb-owner@sourceware.org] On Behalf Of Hui Zhu
>> Sent: Monday, October 19, 2009 8:57 AM
>> To: Marc Khouzam
>> Cc: Michael Snyder; gdb@sourceware.org
>> Subject: Re: [FYI] tutorial for process record and reverse debugging
>>
>>> But from reading the tutorial I see that it may be of 
>> interest in some situations.
>>> What bothers me though is that one must disable all 
>> breakpoints and then re-enable
>>> them.  This can be a bit of an annoyance, especially if 
>> some bps were already disabled.
>>> I got to wonder if this doesn't call for a new command; 
>> something like
>>> "record live", which would take us to the end of the 
>> recording while not needing the
>>> user to deal with existing breakpoints.
>>>
>>> What do you think?
>>>
>>> Marc
>>>
>> Sorry Marc,  I cannot understand it.   Could you please tell me which
>> status need "disable all breakpoints and then re-enable them"?
> 
> In the tutorial, around the middle of section 
> "Continue, reverse-continue, and breakpoints"
> it mentions that after doing some reverse execution, we may be
> "now ready to resume where we left off".
> 
> From what I understand this means that the user may decide that she
> is done with reverse execution and wants to go back to executing
> the live program.  To do this, we need to disable all bps, do a
> 'continue' and then (optionally) re-enable all bps.
> 
> If going straight to the end of the recording log is a valuable
> feature, I was thinking it may deserve its own command.
> 
> Ultimately, I'm hoping that with such a command, we can then see
> if we can have PRecord directly jump from recorded execution
> to live execution without stopping.
> 
> I'm hoping to get opinions from you experts, as I'm not sure it is
> a good idea.

OK, so good discussion.  Let's cover some bases here.

1) I'm in record mode, and I want to stay in record mode.
No brainer -- that's the default behavior.

2) I'm in record mode, and I want to go to replay mode.
Currently the only way to do that is to give a "reverse"
command (reverse step, reverse continue...)

That's not too bad, but sometimes I might want to simply
go to the beginning of the log and start replaying forward
from the beginning (ie. not backwards from the end.
Or, I might even want to goto the middle before I start
to replay (in either direction).

We can do that now by using breakpoints, but we might have
to disable other breakpoints, if there are any.

But we COULD do it if we had a command like "goto beginning",
or "goto bookmark 12".

3) I'm in replay mode, possibly in the middle of the recording,
and I want to switch to record mode.  Now there are several
branching possibilities:  Do I want to:

   a) Go to the end and start appending to the existing log?
   b) Truncate the existing log at the point where I am, and
      start appending to the prefix?
   c) Discard the existing log and start a new log from the
      point where I am?
   d) Go back to the beginning, discard the existing log, and
      start a new log from the beginning?

These are all things that I think we can do at present, but
not generally with a single command.  Maybe we should kick
them around.  They're all useful, and not far out of reach.
They wouldn't, for instance, require that we keep several
branching logs around at the same time (although just think
what would be possible if we could do that!!! <g>)







  parent reply	other threads:[~2009-10-19 18:23 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 [this message]
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
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=4ADCAD14.3080407@vmware.com \
    --to=msnyder@vmware.com \
    --cc=gdb@sourceware.org \
    --cc=marc.khouzam@ericsson.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