From: teawater <teawater@gmail.com>
To: "Michael Snyder" <msnyder@specifix.com>
Cc: gdb@sourceware.org, gdb-patches@sourceware.org
Subject: Re: [RFC/RFA] gdbreplay V2.0
Date: Thu, 03 Jul 2008 01:56:00 -0000 [thread overview]
Message-ID: <daef60380807021855p4750fe9etdf24f01219763237@mail.gmail.com> (raw)
In-Reply-To: <1214974158.3601.1582.camel@localhost.localdomain>
It can work with reverse command of "msnyder-reverse-20080609-branch"?
On Wed, Jul 2, 2008 at 12:49, Michael Snyder <msnyder@specifix.com> wrote:
> Here's a new contribution -- I call it gdb-freeplay, an
> improved and less restrictive version of gdbreplay. Its
> something I've been playing around with for some time now.
>
> This is a remote protocol logger/replayer, that works in
> principal just like gdbreplay -- it even uses the same
> logfiles, with no changes or enhancements.
>
> However, where gdbreplay constrains you in the replay session
> to giving *exactly* the same commands, in *exactly* the same
> sequence, as were used in the recorded session, gdb-freeplay
> frees you of that constraint -- you can change the order of
> the commands, or skip them entirely, even skip ahead past an
> arbitrary number of execution events to get to the "interesting"
> ones.
>
> You use step and next just like you did in the recorded
> session, but now you can set a breakpoint and continue on
> ahead to a later part of the session, even if you did not
> do so in the original session. You can even next over a
> function call that you originally stepped into -- so long
> as you also stepped out of it. Or you can skip out with
> "finish", even if you continued to debug the function
> interminably in the original session.
>
> You can print any variable(s) or registers that you
> examined before, in any order, even combine them into
> expressions that were not used in the recorded session
> (so long as all the values of the expression were evaluated).
> In many ways, it's a lot like tracepoint debugging.
>
> I picture it being useful for gdb testing -- we might
> even create hand-crafted "sessions" and use it to play
> them back to explicitly test parts of the remote protocol.
>
> I can also picture a user sending you a binary and a
> recorded log in which a bug happened -- you could debug
> it even with a cross-debugger, lacking the appopriate
> hardware (or simulator or what have you) -- and even if
> the recorded log was 50 megabytes long, you could skip
> ahead to the interesting bits.
>
> But frankly, I just wrote it because it was fascinating to do...
>
> Michael
>
> PS I've already written back-ends for x86, MIPS64, and x86-64.
> Most other target architectures should be fairly easy to add,
> and it will work with anything that uses the remote protocol.
>
>
next prev parent reply other threads:[~2008-07-03 1:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-02 4:50 Michael Snyder
2008-07-02 17:50 ` Michael Snyder
2008-07-04 11:07 ` Eli Zaretskii
2008-07-03 1:56 ` teawater [this message]
2008-07-03 2:50 ` Michael Snyder
2008-07-04 10:53 ` Eli Zaretskii
2008-07-08 3:34 ` Michael Snyder
2008-07-14 22:29 ` Eli Zaretskii
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=daef60380807021855p4750fe9etdf24f01219763237@mail.gmail.com \
--to=teawater@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=gdb@sourceware.org \
--cc=msnyder@specifix.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