Pacific++ 2018: James McNellis 'Time Travel Debugging'

preview_player
Показать описание

Abstract:
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. 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 enables you to record bugs as they happen, then replay the recording in the debugger afterwards, and use most of the debugger features that are available when debugging a live process.
In this session, I’ll introduce what Time Travel Debugging is and demonstrate both how to record execution of a program and how to debug the resulting recording. We’ll walk through the root cause analysis of some typically difficult-to-solve bugs like memory corruption and API misuse. Finally, we'll look at TTD’s advanced querying capabilities, which let you query information about memory accesses and function calls. As we walk through the examples, I’ll also introduce other, related debugger features that make debugging easier in general, even when not using Time Travel Debugging.

About the speaker:
James McNellis is a Principal Software Engineer at Microsoft where he works on the Time Travel Debugging (TTD) reverse debugging toolkit. Prior to joining the Windows Debuggers team in 2016, he worked on the Visual C++ team and was responsible for the Microsoft C Runtime (CRT) and C Standard Library implementation. Passionate about all things related to C++, he is a frequent speaker at C++ conferences around the world and is a former top contributor on StackOverflow.

Рекомендации по теме
visit shbcf.ru