From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14372 invoked by alias); 7 Sep 2009 23:29:23 -0000 Received: (qmail 14357 invoked by uid 22791); 7 Sep 2009 23:29:21 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pz0-f201.google.com (HELO mail-pz0-f201.google.com) (209.85.222.201) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 07 Sep 2009 23:29:14 +0000 Received: by pzk39 with SMTP id 39so2683457pzk.15 for ; Mon, 07 Sep 2009 16:29:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.5.28 with SMTP id 28mr481459wfe.82.1252366152089; Mon, 07 Sep 2009 16:29:12 -0700 (PDT) In-Reply-To: <4AA57495.2040603@vmware.com> References: <4AA57495.2040603@vmware.com> From: Hui Zhu Date: Mon, 07 Sep 2009 23:29:00 -0000 Message-ID: Subject: Re: [patch] htdocs, news, reversible.html To: Michael Snyder Cc: gdb@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2009-09/txt/msg00126.txt.bz2 Hi Michael, Thanks for your works. > +
  • paawan oza contributed floating point reverse support for i386 Maybe it should be "Paawan Oza". Hui On Tue, Sep 8, 2009 at 05:01, Michael Snyder wrote: > Hello, > > I checked in the attached update to the gdb web page about reverse > debugging. =A0Appologies for not seeking review comments first -- I > will welcome them now and be glad to post corrections or additions. > > Michael > > PS -- especially if I neglected to acknowledge anybody or mention > an existing reverse debug target! > > > Index: index.html > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvs/gdb/htdocs/news/index.html,v > retrieving revision 1.84 > retrieving revision 1.86 > diff -u -p -r1.84 -r1.86 > --- index.html =A027 Mar 2008 19:16:42 -0000 =A0 =A0 =A01.84 > +++ index.html =A07 Sep 2009 17:29:47 -0000 =A0 =A0 =A0 1.86 > @@ -63,6 +63,19 @@ better. > > =A0--> > > +
    September 6, 2009: Update: Reverse Debugging
    > +
    > +

    GDB version 7.0, due to be released later this month, will > +include the first public releases of reverse debugging and Process > +Record and Replay. =A0See the > + wiki page<= /a>. > + > +

    The GDB maintainers are still looking for contributors interested > +in helping to extend and develop > +reverse debugging. > +

    > +
    > + > =A0
    March 27, 2008: GDB 6.8 Released!
    > =A0
    > =A0

    The latest version of GDB, version 6.8, is available for @@ -755,7 +768,7 @@ Floor, Boston, MA 02110-1301 USA.

    > =A0

    Verbatim copying and distribution of this entire article is > =A0permitted in any medium, provided this notice is preserved.

    > > -

    Last modified 2008-03-27.

    > +

    Last modified 2009-09-06.

    > =A0 > > =A0 > Index: reversible.html > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /cvs/gdb/htdocs/news/reversible.html,v > retrieving revision 1.4 > retrieving revision 1.5 > diff -u -p -r1.4 -r1.5 > --- reversible.html =A0 =A0 7 Aug 2007 23:48:49 -0000 =A0 =A0 =A0 1.4 > +++ reversible.html =A0 =A0 7 Sep 2009 01:34:38 -0000 =A0 =A0 =A0 1.5 > @@ -9,7 +9,7 @@ > =A0 href=3D"../../gdb/images/archer-fish.ico" /> > =A0 > > -GDB and Reversible Debugging > +GDB and Reverse Debugging > > =A0 > > @@ -41,7 +41,7 @@ Fish]" />
    > =A0 > =A0 > > -

    GDB and Reversible Debugging

    > +

    GDB and Reverse Debugging

    > > =A0 > =A0 > @@ -51,63 +51,82 @@ Fish]" /> > > =A0

    Overview

    > > -

    Reversible debugging (the ability to "step backwards" through a progr= am) > -is an obviously powerful tool. =A0GDB does not support it today, but the > -foundations have been laid, and the GDB maintainers are looking for > -contributors interested in expanding those foundations.

    > +

    GDB version 7.0 (due September 2009) will be the first public release > +of gdb to support reverse debugging (the ability to make the program > +being debugged step and continue in reverse). =A0See the > +wiki page > +here. > > -

    Prior work

    > +

    Presently, only certain target debugging environments will support > +reverse debugging. =A0Those targets currently include: > > =A0

    > > +

    All of those targets, plus any additional ones in the future, will > +support a common user interface for reverse debugging in gdb, including > +the new commands: > + > +

      > + =A0
    • reverse-continue ('rc') -- Continue program being debugg= ed > but run it in reverse > + =A0
    • reverse-finish -- Execute backward until just before the > selected stack frame is called > + =A0
    • reverse-next ('rn') -- Step program backward, proceeding > through subroutine calls. > + =A0
    • reverse-nexti ('rni') -- Step backward one instruction, = but > proceed through called subroutines. > + =A0
    • reverse-step ('rs') -- Step program backward until it re= aches > the beginning of a previous source line > + =A0
    • reverse-stepi -- Step backward exactly one instruction > + =A0
    • set exec-direction (forward/reverse) -- Set direction of > execution.
      > + =A0 =A0 =A0 All subsequent execution commands (continue, step, until et= c.) will > run the program being debugged in the selected direction. > +
    > + > +

    Breakpoints and watchpoints will work in reverse -- allowing you for > +instance to proceed directly to the previous point at which a variable > +was modified. > + > =A0

    Still to do

    > > -

    Once the basic commands are in GDB, it should be a simple matter of > -programming to add support for this to various existing GNU simulators. = =A0It > -could also be added either to native targets (perhaps based on the > checkpoint / > -restart functionality) or to other third-party simulators for GNU/Linux = and > -other platforms (such as valgrind, sid, or qemu).

    > - > -

    For the highest fidelity of reversible userspace debugging, some > -work on Linux and other kernels might also go a long way.

    > - > -

    The FSF and the GDB maintainers are interested in GDB contributions > -in this area. =A0If anyone reading this is likewise interested in > -contributing to it, we would welcome your help!

    > +

    Now that the core GDB contains support for reverse debugging, it shou= ld > +be possible to add revese execution support to existing GNU simulators > +such as the ones built into GDB, as well as non-GNU targets such as > +valgrind, SID, and qemu. > + > +

    For greater performance and fidelity in userspace and/or kernel rever= se > +debugging, some work on GNU/Linux as well as other open source kernels > +might be done. > + > +

    The built-in GDB target 'Process Record / Replay' currently only > supports > +native reverse debugging on three platforms (i386-linux, amd64-linux, and > +moxie-elf). =A0Volunteers are needed to extend this functionality to oth= er > +GNU/Linux platforms, and even to other operating systems. > + > +

    The FSF and GDB maintainers are eagerly seeking new volunteers and > +contributions in this area. =A0If anyone reading this is interested in > +contributing to this leading edge area of research and development, > +we would welcome your help! > + > +

    Acknowledgements

    > +
      > + =A0
    • Tomas Holmberg contributed MI support for reverse debugging in > Eclipse > + =A0
    • paawan oza contributed floating point reverse support for i386 > + =A0
    • Anthony Green contributed a process record port for moxie-elf > + =A0
    • Hui Zhu contributed a process record port for amd64-linux > + =A0
    • Hui Zhu contributed the process record framework, along with > + =A0 =A0 =A0 the original port for i386-linux > + =A0
    • Dave Brolley contributed a reversible SID simulator for > xstormy16
      > + =A0 =A0 =A0 (Note that sid is not a GNU project, but it is licensed und= er the > GPL.) > + =A0
    • Michael Snyder contributed the core gdb framework for reverse > debugging > + =A0
    • All of the gdb maintainers are to be thanked for invaluable > + =A0 =A0 =A0 discussion, suggestions, and code review. > +
    > > =A0 > > @@ -150,7 +169,7 @@ Floor, Boston, MA 02110-1301 USA.

    > =A0

    Verbatim copying and distribution of this entire article is > =A0permitted in any medium, provided this notice is preserved.

    > > -

    Last modified 2007-07-31.

    > +

    Last modified 2009-09-06.

    > =A0 > > =A0 > >