From: Michael Snyder <msnyder@redhat.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: Eli Zaretskii <eliz@gnu.org>, gdb-patches@sources.redhat.com
Subject: Re: [RFA] Reverse debugging, part 1/3: target interface
Date: Thu, 20 Apr 2006 19:22:00 -0000 [thread overview]
Message-ID: <4447DF7D.6070506@redhat.com> (raw)
In-Reply-To: <20060420134343.GC11710@nevyn.them.org>
Daniel Jacobowitz wrote:
> On Wed, Apr 19, 2006 at 11:26:11AM -0700, Michael Snyder wrote:
>
>>+@item bc
>>+@cindex @samp{bc} packet
>>+Continue execution in reverse (if capable).
>>+@xref{Reverse Execution, ,Running programs backward}.
>>+
>>+Reply:
>>+@xref{Stop Reply Packets}, for the reply specifications.
>>+
>>+@item bs
>>+@cindex @samp{bs} packet
>>+Single step in reverse (if capable).
>>+@xref{Reverse Execution, ,Running programs backward}.
>>+
>>+Reply:
>>+@xref{Stop Reply Packets}, for the reply specifications.
>>+
>
>
> You designed the target interface so that it could return EXEC_ERROR,
> "I don't support reverse execution". But here you've got only bc and
> bs; you've got no way to probe the remote target for reverse execution
> support.
Yes, I think I remarked on the need for that in comments.
> I realize you've got at least one already shipping stub for this; can
> we still fix it, or should we assume that there will be at least one
> target where the only way to find out is to try?
No problem -- it's not actually shipping, or even promised.
This has been a rare, redhat-funded pure research project. ;-)
Yes, I appreciate how lucky I am. Thank you, oh employer mine.
[not that we don't hope to make money from it eventually...]
> This seems to be one of the stray FIXMEs in this code which really
> ought to be fixed before we merge it:
>
> + /* FIXME: check target for capability. */
>
> I'm guessing you haven't tried this with a remote target that didn't
> support it. It looks like it would fail messily.
Hmmmmm... ok, your guess is correct.
I propose a deal -- I'll try it, and if it does fail messily,
I will fix it. If it doesn't, will you let me check it in
with the expectation of future enhancement? I feel that for
a major new functionality, useability rather than completeness
should be the mark.
It's not like we're not going to add to what's been
implemented so far.
> Are there other hard cases that should be discussed in the remote
> protocol documentation, or handled by the protocol? The first one that
> comes to mind is "what do we do with threads" - is it ever going to be
> relevant to do this in a multi-threaded system, and if so, are we going
> to reverse all threads at once?
I think in previous discussion, we have recognized that this is a
hard problem, and I have simply deferred addressing it. I don't
even claim to know if it *can* be addressed. I'd like to say,
we can now use this feature on the non-trivial subset of non-
threaded programs, and put threaded programs down as a hoped-
for future enhancement.
> Oh, and refering to Stop Reply Packets is not complete for the reply;
> that doesn't cover error codes. For instance, you have one error code
> designated to mean "no more history". That should be in the
> documentation, please.
Well, yes, I thought about that -- but in fact, AFAICT there is
*no* documentation for error codes, and I didn't feel like starting
it. Yes, I think we need some, but it's probably worth having a
discussion of how we would like to do it.
And, self-interest not withstanding, I don't think there's a good
reason for holding up this patch for lack of something that is
lacking throughout.
> I've only skimmed the patch; are there others?
None that I'm deliberately withholding. ;-)
I'm counting on you reviewers to help find any that I've overlooked.
Thanks for your review and feedback.
next prev parent reply other threads:[~2006-04-20 19:22 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <442DAA70.5070203@redhat.com>
2006-04-01 12:23 ` Eli Zaretskii
2006-04-17 23:37 ` Michael Snyder
2006-04-18 12:58 ` Daniel Jacobowitz
2006-04-18 15:24 ` Daniel Jacobowitz
2006-04-18 22:08 ` Michael Snyder
2006-04-19 8:48 ` Eli Zaretskii
2006-04-19 18:26 ` Michael Snyder
2006-04-20 9:18 ` Eli Zaretskii
2006-04-20 13:43 ` Daniel Jacobowitz
2006-04-20 19:22 ` Michael Snyder [this message]
2006-04-20 19:50 ` Daniel Jacobowitz
2006-04-20 23:53 ` Michael Snyder
2006-04-24 20:55 ` Daniel Jacobowitz
2006-04-18 18:59 ` Michael Snyder
2006-04-20 13:58 ` Daniel Jacobowitz
2006-04-20 19:42 ` Michael Snyder
2006-04-20 19:58 ` Daniel Jacobowitz
2006-04-01 16:39 Michael Snyder
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=4447DF7D.6070506@redhat.com \
--to=msnyder@redhat.com \
--cc=drow@false.org \
--cc=eliz@gnu.org \
--cc=gdb-patches@sources.redhat.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