Possible Duplicate:
Bidirectional (or reverse) debugging
I’ve looked up the Omniscient Debugger (http://www.lambdacs.com/debugger/ODBDescription.html), but it’s specific to Java. Is there any debugger with this same functionality for native apps, i.e., C/C++?
I haven’t made myself clear. I’d like to break on bogus data values/code paths, and then “rollback”, debug backwards, until I find the error in the code/logic/design.
I know I can debug step-by-step “forwardly”, I want to do the same backwards, so the debugger would need to save its context in each step.
In addition to the stack traces to examine past instructions already mentioned here on x86 targets newer gdb also supports recorded program execution and stepping backwards which should come pretty close to what you are looking for.