gdb patch from Michael Snyder is pretty cool. It adds new
restart commands to gdb; the
former is used to save a copy of the debuggee’s state at the current
moment, and the latter is used to resume debugging at the saved point.
The implementation is nicely simple — make the inferior program fork
and just let it hang around until we’re ready to use it. This
functionality seems pretty useful; I often will do multiple debug
sessions starting at the same point, and this is a way to avoid
lengthy startup procedures. Maybe it needs a
restart-checkpoint command, which brings a new copy of
the inferior to the foreground, leaving a pristine copy waiting for
Also, any patch that adds a variable named
forky_forky can’t be bad.
This isn’t the only potentially cool thing going on in gdb-land.
Over the last few months there has also been a fair amount of talk
about debugging in reverse (here’s
one thread). This is one of those features I’ve wanted for