Thursday, June 28, 2007

Reversible Debuggers

Reversible debuggers enable you to rewind a program and inspect its state at any point in the past. The program may jump back and forth by a single instruction or more and the [reversible] debugger records everything that the program does - every memory access, every computation, every call to the operating system.

The rather large amount of data that is so collected is presented via the metaphor of time travel; the ability to inspect the program state backwards and forwards in time.

Examples of such tools are: RetroVue [for Java], TimeMachine [for embedded systems], UndoDB [for Linux], and Nirvana from Microsoft Research.

Check them out!

No comments:

Post a Comment