Rec Debugger is a reversible debugger for .NET languages, like C# and VB.NET. It is aimed to provide a core subset of the normal CLR debugger functionality, but it also lets you do 'back-in-time' debugging, i.e. step backwards and examine past states. Being able to rewind the state of a virtual machine can be useful for locating bugs that cause delayed symptoms. But it is also handy for reducing the penalty of accidentally stepping too far, and for postponing inspection of unexpected bugs while concentrating on an original bug. If you see an incorrect field value - instead of starting over, trying to break when it is assigned and hoping that the same thing happens again - simply right-click 'Go to Last Modification'. If you see a suspicious object - instead of trying to design a conditional breakpoint for construction of that very object and hoping that the issue is reproducible - simply right-click 'Go to Creation'. If you catch an exception - instead of attempting to repeat the sequence of actions that caused it, but with the appropriate exception checkbox ticked - simply right-click 'Go to Creation'. If the error turns out to be a side effect of a deeper root cause - just keep nesting backward. At recdebugger.com, there is also a standalone redistributable recorder available. If you have a user that manages to break your program, but attempts to reproduce the problem fail - instead of blindly littering log-entries - you can have him use Rec Recorder to record an execution history. The user can either download or be sent the standalone program separately - along with instructions on how to use it. Or it can be distributed with, and even linked and started from within your program (e.g. using a command-line argument, or a 'safe-mode'-like start-prompt). The recording can then be opened on your machine and you can examine exactly what goes wrong - by running and stepping through the exact same execution path and with the exact same data. More info and instructions are availablehere. It's easy to get started; Just download and install, and there will be a menu in Visual Studio for starting the debugger, stepping back and so forth. Tip: Stepping backwards can be a bit slow. It is often faster to step back out of the entire frame (default for C#: Alt-Shift-F11) and then step forward. Here, you can only download the VSIX version. There is also a full msi installer available at the main site.Rec Debugger - when fully installed - correctly handles some cases the VSIX package does not, and it also supports Visual Studio 2008. If you are having trouble starting the debugger, you are encouraged to also try the full installation. Revision Notes
|