Time Travel Debugging: Root Causing Bugs in Commercial Scale Software
We’ve all heard horror stories about bugs that were near-impossible to root-cause, and many of us have at least a few stories of our own. Corrupted or uninitialized memory. Resource leaks. API misuse and race conditions. Occasional and inconsistent crashes where all you have to go on are a series of unhelpful crash dumps. These kinds of problems are often time-consuming and tedious to debug, and can be both draining and infuriating. Time Travel Debugging (TTD) is a reverse debugging toolkit for Windows that makes debugging these kinds of problems far easier, in both small programs and commercial-scale software like Windows and Office. It's been an invaluable debugging tool for software developers and escalation engineers within Microsoft for many years. We’ve spent the last couple of years improving performance, scalability, and usability, and are excited to finally be able to release a public preview of Time Travel Debugging. In this interactive and hands-on session, we'll show you how to download and make use of our first public preview of Time Travel Debugging, demonstrate how to use TTD, and walk through the root cause analysis of some typically difficult-to-solve bugs like memory corruption, API misuse, and race conditions.