Has anyone actually used a reversable debugger? The only product that Google turns up is UndoDB. It is for apparently for Linux only.
I am using UndoDB on Linux instead of plain gdb for every debugging session. Reverse debugging is very useful and speeds up debugging significantly. You can start debugging from the symptom of the problem (e.g. assertion failure or some wrong message is printed) and debug backwards in time, looking for the root cause of the problem.