public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Stan Shebs <shebs@apple.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb@sources.redhat.com
Subject: Re: Using reverse execution
Date: Fri, 23 Sep 2005 23:20:00 -0000	[thread overview]
Message-ID: <43348DB4.5000206@apple.com> (raw)
In-Reply-To: <u8xxwn3em.fsf@gnu.org>

(Been in Cupertino talking about reverse execution to Apple people,
just now getting caught up)

Eli Zaretskii wrote:

>>Date: Fri, 16 Sep 2005 11:02:50 -0700
>>From: Stan Shebs <shebs@apple.com>
>>Cc: gdb@sources.redhat.com
>>
>>Eli Zaretskii wrote:
>>
>>
>>>What features can be implemented without hacking the kernel?
>>>
>>>
>>If you limited reversing to designated regions, and single-stepped
>>every instruction in the range, collected the exact data changes
>>(by disassembling the instructions) and only allowed examination
>>rather than re-executing from any given point, all that just needs
>>existing GDB machinery. Is it useful?
>>
>
>Sorry, you lost me.  Can you describe this in smaller words?
>
ODB works by hacking up the bytecode interpreter to log what every
bytecode does, recording addresses and data values. After the
program runs, you have a gigantic log, and you look at it with a
debugger-type interface. Since the log contains every before-and-after
change to objects etc, it's just a matter of rooting through it to
be able to display any value at any time. But the program execution
is already over, so there's no way to set a variable and continue,
call a method, or do anything else to alter execution.

An analogy I used this week is that of a "time-traveler's telescope" -
you can focus in on any point in the past, and study it closely from
the present day, but you can't alter it. A handy way to sidestep
paradox, but it also precludes "what-if" experiments; you'd have to
restart the program before you could make the program go a different way.

>>At least somebody thinks so, because I just described how the
>>omniscient debugger works (using Java bytecodes instead of machine
>>instructions).
>>
>
>As I understood the description of the omniscient debugger, it would
>be very useful.
>
Indeed it seems so. That would be a very nice outcome - we could get
a powerful new feature without having to make a scarily-large
commitment to a feature that doesn't current have a large body of
users demanding it already.

Stan

  reply	other threads:[~2005-09-23 23:20 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-13  1:17 Stan Shebs
2005-09-13  3:43 ` Eli Zaretskii
2005-09-14  0:36   ` Stan Shebs
2005-09-14  3:42     ` Eli Zaretskii
2005-09-14 22:34       ` Stan Shebs
2005-09-15  3:37         ` Eli Zaretskii
2005-09-15  5:36           ` Stan Shebs
2005-09-15 15:14             ` Eli Zaretskii
2005-09-15 18:02               ` Jason Molenda
2005-09-15 20:12                 ` Stan Shebs
2005-09-16 10:42                   ` Eli Zaretskii
2005-09-16 14:00                     ` Stan Shebs
2005-09-16 16:22                       ` Eli Zaretskii
2005-09-16 18:03                         ` Stan Shebs
2005-09-16 20:50                           ` Eli Zaretskii
2005-09-23 23:20                             ` Stan Shebs [this message]
2005-09-16 17:50                       ` Ian Lance Taylor
2005-09-16 10:43                 ` Eli Zaretskii
2005-09-13 18:11 ` Min Xu (Hsu)
2005-09-13 22:01   ` Jim Blandy
2005-09-14  0:42     ` Stan Shebs
2005-09-16 12:03 ` Ramana Radhakrishnan
2005-09-20 22:47 Michael Snyder
2005-09-20 22:56 Michael Snyder
2005-09-20 23:14 ` Ian Lance Taylor
2005-09-21  3:40   ` Eli Zaretskii
2005-09-21  4:00     ` Ian Lance Taylor
2005-09-21 17:52       ` Eli Zaretskii
2005-09-21 20:37       ` Michael Snyder
2005-09-24  0:46         ` Stan Shebs
2005-09-24  1:10           ` Michael Snyder
2005-09-24 10:05           ` Eli Zaretskii
2005-09-27 22:00           ` Jim Blandy
2005-09-21  4:03     ` Daniel Jacobowitz
2005-09-21 16:56 ` Paul Gilliam
2005-09-23 23:44 ` Stan Shebs
2005-09-20 23:11 Michael Snyder
2005-09-24  0:07 ` Stan Shebs

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=43348DB4.5000206@apple.com \
    --to=shebs@apple.com \
    --cc=eliz@gnu.org \
    --cc=gdb@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).