The FSF is looking for developers interested in reversible debugging

Daniel Jacobowitz drow@false.org
Mon Nov 13 00:46:00 GMT 2006


Richard Stallman has expressed interest to the GDB steering committee about
GDB support for reversible debugging.

The foundations have already been laid:

  - Michael Snyder has merged a checkpoint/restart implementation, which
    works on native GNU/Linux systems for limited single-threaded programs.
    It uses fork and other system calls directly in the debuggee.  This is
    included in GDB 6.5.

  - Michael also implemented remote protocol support for communication with
    a reversible simulator.  These patches have not been merged, but they
    should be fairly easy to merge; someone interested needs to restart
    the discussion.  Some of the messages from the previous discussion are:

      http://sourceware.org/ml/gdb-patches/2006-03/msg00388.html
      http://sourceware.org/ml/gdb-patches/2006-04/msg00381.html
      http://sourceware.org/ml/gdb-patches/2006-03/msg00389.html
      http://sourceware.org/ml/gdb-patches/2006-03/msg00390.html

  - Dave Brolley has implemented support for reverse debugging in the Red
    Hat "sid" simulator for the xstormy16 architecture:

      http://sourceware.org/ml/sid/2006-q3/msg00047.html

    (Note that sid is not a GNU project, but it is licensed under the GPL.)

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. It
could also be added either to native targets (based on the checkpoint /
restart functionality?) or to other third-party simulators for GNU/Linux and
other platforms (such as valgrind, sid, or qemu - I do not know of any
related GNU projects, but there may be some I am not familiar with).

For the highest fidelity of reversible userspace debugging, I suspect some
work on the Linux or GNU kernels might also go a long way.

The FSF is interested in GDB contributions in this area.  If anyone reading
this is likewise interested in contributing to it, we would welcome your
assistance!

On behalf of the GDB Steering Committee,
Daniel Jacobowitz



More information about the Gdb mailing list