The First Time Travel Debugger for Windows
Yesterday (27 September 2017) Microsoft announced the general release of its reverse debugger for Windows: the Time Travel Debugger (TTD). The announcement came from a talk given at CppCon, the annual C++ professionals’ conference, by Jordi Mola, James McNellis and Ken Sykes.
The TTD works in a similar way to other reversible debuggers. It allows users to generate a replica of their program’s runtime execution, known as a trace (or recording as we call them) by running the program under an executable. These traces can then be loaded into Windbg, the Windows debugger, to which they have added reverse debugging features so that developers can now step backwards (as well as forwards) in their program’s history.
The Time Travel debugger has been used by developers internally within Microsoft for a number of years, and it was noted in the talk today that inside Microsoft, bug reports are more commonly responded to by developers with a request for a trace, rather than for a reproducer - i.e. it is used in more than half of the internal support cases.
If you’re unfamiliar with reverse debugging we’ve put together this helpful guide - 6 Things You Should Know About Time Travel Debugging - to answer some common questions. You can also check out our blog if you want a brief history of reverse debugging and why it is becoming the standard for debug.
Undo want to be the first to say welcome to the reverse debugging club, Microsoft! It took you a while to get here but you’ve finally joined the cool kids.