Debug C++ Code - Best Time Travel Debugging Tech
summary
Time travel debugging claims the exact failing instruction, shows the program state at any past moment, and demos three real tools: RR (record and replay) (open source, works on Linux but needs perf counters), Microsoft TTD LiveRecorder (Windows, binary instrumentation), and undo.io’s udb (binary rewriting with forked snapshots). A SAP HANA bug that sat unresolved for ten years gets fixed in days once a trace exists. Implementations either count backwards-taken branches or use hardware perf events, handle shared memory by trapping accesses, and typically cost 2×–10× runtime; start in the dev loop and CI before production.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:37Why debugging matters for programmers
- 8:23Print statements limits
- 16:57Time travel debugging
- 20:06Live demo
- 33:39Scaling time travel
- 45:24Implementation challenges
- 1:00:00Use cases
- 1:17:46Snapshots in production
- 1:23:46Adoption challenges
related talks
01h 02mTime Travel Debugging
48mDPTrace: Dual Purpose Trace for Exploitability Analysis of Program Crashes
10mBacktraces in the mirror: mad science by secrets of elves & dwarves!!
17mDebuggers from scratch
31mRace Conditions - Practical Tools & Techniques for Testing, Preventing, and Debugging C++/C Code
21mUtilizing RISC-V Trace Standards for Efficient Bugfixing and Profiling
32mIntroduction to Windows Kernel Mode Debugging
54mCatching Real-time Safety Violations in C++
