Historical debugging with VS2010

I am looking forward to Visual Studio 2010. The most exciting new feature is called IntelliTrace. Any developer will definitely appreciate capabilities IntelliTrace provides. Here is briefly how it works. The IntelliTrace has to be enabled before an application is started. Once the application is running and unhandled exception is raised, the debug history is generated. It contains all the executed statements from the application start all the way until the unhandled exception was raised. It is similar to a statement execution trace. We can walk through executed statements and inspect the call stack, local and watch variables. Using debugging history (provided by the trace file) we can eliminate the need for live debugging. The biggest benefit comes from tough to reproduce defects. The ones that a tester is able to create, but a developer is not able to recreate. In this case, the tester can use IntelliTrace.exe utility to generate the trace file and send it to the developer for inspection. By looking at the execution trace the developer is able to analyze the executed statements and pinpoint the culprit of the unhandled exception.
Limitations
Since this is the first version of IntelliTrace, it naturally has some limitations. It works only for managed code. The native C++ code is not supported. Another limitation deals with the computer architecture. Currently, the debugging mode using Visual Studio is only possible for 32bit systems.
Conclusion
This is just a brief overview of the much anticipated new cccVisual Studio 2010 feature. I am convinced it will ease debugging hard to reproduce bugs. For more information on IntelliTrace check out the Channel 9 video. Ian Who has also written few posts about IntelliTrace at his blog.