From: paawan oza <paawan1982@yahoo.com>
To: "Engblom, Jakob" <Jakob.Engblom@windriver.com>, gdb@sourceware.org
Subject: Re: reverse debugging implementation
Date: Thu, 02 Sep 2010 09:44:00 -0000 [thread overview]
Message-ID: <290584.46112.qm@web112507.mail.gq1.yahoo.com> (raw)
In-Reply-To: <C6FAFDDBC4402D44BFC43E57565F021903BA02CF@ala-mail09.corp.ad.wrs.com>
Hi,
I am not sure whether that implementation will improve performance drastically
compare to existing gdb reversible debuggin implementation.
as
does it involve
-> stopping at every insn and find out whether insn is changing register or
memory, and if register then record it (probably not every insn but depends on
interval and no of memory changing insns)
-> when you want to go back, you go back n-1 and forward execution till
current-1, that probably involves single steeping which has performance impact.
of course the record for memory is saved as we do not need to save architectural
state at every insn, but performance !!
Regards,
Oza.
----- Original Message ----
From: "Engblom, Jakob" <Jakob.Engblom@windriver.com>
To: gdb@sourceware.org
Sent: Thu, September 2, 2010 12:18:02 PM
Subject: RE: reverse debugging implementation
> > of memory locations before they are changed. Going back one
> instruction then
> > involves rolling back the memory changes, the registers are set up
> then go
> > forward n-1 instruction to go back one.
If you go back in the gdb mailinglist, you will see that this is exactly
how Wind River Simics does its reverse execution. Back up to a recent
checkpoint, and then reexecute forward to some point in time. Silently
record any breakpoints, and if you are running breakpoints backwards, go
back to the checkpoint again and reexecute forward to the point in time
where the breakpoint hits.
Works very well for a full-system simulator where the entire target
state is encapsulated and controlled.
I believe similar things have been done in the RTL simulation field in
the 1990s, but I have only anecdotal evidence. If you have
checkpoints/snapshots and a deterministic simulator it is an "obvious"
thing to do.
/jakob
Jakob Engblom | Wind River | Technical Marketing Manager - Simics
Stockholm, Sweden
mobile +46 734 368 958 | email jakob.engblom@windriver.com
next prev parent reply other threads:[~2010-09-02 9:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-22 13:39 David McQuillan
2010-08-25 6:30 ` paawan oza
2010-08-25 18:55 ` David McQuillan
2010-09-02 6:48 ` Engblom, Jakob
2010-09-02 9:44 ` paawan oza [this message]
2010-09-02 12:52 ` Engblom, Jakob
2010-08-25 20:43 ` reverse debugging implementation + commands David McQuillan
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=290584.46112.qm@web112507.mail.gq1.yahoo.com \
--to=paawan1982@yahoo.com \
--cc=Jakob.Engblom@windriver.com \
--cc=gdb@sourceware.org \
/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