Back To Basics: Debugging Techniques
summary
Claims concrete numbers: industry studies show 13 hours average to reproduce and fix and hundreds of millions of developer hours lost annually; recommended tactics are reproduce in a sandbox, add assertions and tests, and minimize fixes so they don’t ripple. Use specific tools: compilers and warnings, static analyzers like cppcheck and Coverity, debuggers and record-and-replay tools such as rr and Undo, sanitizers (ASan/TSan/UBSan), valgrind, Wireshark, plus divide‑and‑conquer, make‑it‑worse, and scientific‑method test hypotheses.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:15Cost of software failures
- 7:06Agenda
- 7:55What are defects
- 11:07What are nonconformity
- 14:34Debugging challenges
- 19:47Debugging process
- 26:11Characterization
- 28:15Understanding
- 29:42Inspect
- 34:33Trace Logging
- 36:07Use
- 41:13Backtracking
- 42:16Divide Conquer
- 43:45Simplification
- 45:09Make the problem worse
- 46:02Scientific Method
- 50:50source code errors
- 51:41implementation errors
- 54:52delivering a fix
- 57:25creating documentation
- 59:27summary
related talks
01h 01mBack to Basics: Debugging in Cpp
01h 01mBack to Basics: Debugging and Testing in C++ Software Development
52mNobody Can Program Correctly - Lessons From 20 Years of Debugging C++ Code
20mDebugging: Techniques for Uncertain Times
13mDebugging debugging; why we must approach debugging differently
35mEffective Debugging of Non-Reproducible Bugs
38mDebugging Embedded Linux
36mDebugging War Stories & Strategies to Survive
