In The visual Studio 2010 team System, A new feature called Historical debugger. Normally, when we want to debug an application we always put the breakpoint first and then start the Application or attach some process for debugging. Visual studio 2010 team system is coming with a feature called historical Debugging which allows code execution to be rewound in case the breakpoint was not already present when the error occurred.
Unlike the debugger of Visual Studio 2008 o before which only record the currently active stack, the historical debugger will record all the event like prior function calls, Method parameter etc(whatever required for debugger) even though there is no breakpoint. This allows the code to be rewound whenever an error occurs.
One drawback of Historical debugger would be that it will take a lot more time and memory as the historical debugger will be recording all events even if no breakpoint are set.