A Guide to Debugging C++ Code: Practical and Interactive Examples
summary
Starts from a crashing C++ program and shows exact tactics: reproduce with stress tests and address sanitizer, use tracing and data breakpoints or reverse debugging to find where memory or timing assumptions fail, inspect disassembly for CLR/ABI mismatches, and fix a real bug where a vector in shared memory broke because 32‑ vs 64‑bit size_t differed — prevented thereafter with a static_assert with hardcoded size. Also describes using crash databases (Google Crashpad), shipping tiny analysis code, and rolling fixes that report success back.
AI-written summary · about
chapters (6)
- 0:00Debugging in C++
- 7:07Bug reports
- 12:35Debugging strategies
- 22:37Locating the bug
- 33:45Fixing and preventing regressions
- 42:44Summary
related talks
57mLessons from 20 years of Debugging C++ Code
01h 26mBoost your C/C++ Developer's Debugging Powers with GDB
57mModern Linux C++ debugging tools - under the covers
31mRace Conditions - Practical Tools & Techniques for Testing, Preventing, and Debugging C++/C Code
01h 29mModern Linux C++ Debugging Tools - Under the Covers
07mGetting Started with Debugging C++ in Visual Studio
01h 01mBack to Basics: Test-driven Development
01h 02mExceptional C++
