UndoDB is a debugger like no other for compiled programs. As well as the familiar next/step type commands to move the program forwards, UndoDB has commands that step your program backwards. More accurately, UndoDB allows the programmer to view the program's state at any point in the program's execution history.
For user documentation, please see the UndoDB man page.
The file undodb_example.txt contains a log of two UndoDB sessions, showing the effects of the various backwards stepping commands.
See the SUPPORTED SYSTEMS section near the bottom of the online man page for details about which Linux distributions and versions UndoDB supports.
For a history of changes to UndoDB (bug fixes, new features etc), please see the Changelog.