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