Reversible Debugging

by chromatic

Greg Law of Undo Software bent my ear the other day about his company's new release of UndoDB, a piece of software that adds reversible debugging to GDB.

That is, when running your program under UndoDB, you can set a breakpoint at the point of failure and rewind and replay the program's state repeatedly. For trivial bugs this is perhaps nice, but for difficult bugs, whether arduous to reproduce or impossible to find, being able to move back and forth between a known good state and a known bad state can be invaluable to fixing the bug.

Like the also impressive Coverity static analyzer, UndoDB is not open source, but it is available freely for non-commercial use. Hopefully we will see improvements to the underlying tools as well as improvements in existing software from better development tools.


2 Comments

Bart van Kuik
2006-06-13 23:30:50
I haven't tried it, but this might be really good in combination with Eclipse its CDT plugin.
Tom Bradford
2006-06-14 09:45:02
OmniCore's X-Develop has had this feature for Java debugging for quite some time, and it's one of those features that, once you've used it for more than 30 seconds, you can't imagine having ever lived without it.


It would be very nice to see something like this in a C/C++ IDE. I've switched recently from XCode to CDT on Mac OS X (debugging didn't quite work on OS X prior to CDT 3.1.0) and am finding it to be superior to both XCode and Visual Studio in many ways. Backstepping in the debugger would be the icing on the cake.