Debugging debuggers!!!
summary
Concrete failures and fixes for real debuggers: walk-throughs show clang emits terrible DWARF compared with GCC, DWARF location lists that push literal zeros, and optimized-out locals that reappear at earlier instructions; demonstrations use gdb, delve and proc maps to prove when and why variables are unreachable, when tail-call elimination destroys unwinds, and how corrupted stacks or thread DB hide threads; metrics are qualitative comparisons across compilers and a working method to inspect assembly and DWARF to decide whether debug info actually helps.
AI-written summary · about
chapters (4)
- 0:00Start
- 3:53debug_info specifies how the program is structured. It includes type, variable and other structural information
- 8:45Some languages are still early in their support for DWARF and emit no or wild debug information.
- 12:17Frames might disappear in the presence of tail call optimization.
related talks
01h 01mBack to Basics: Debugging in Cpp
21mAbstract Debuggers: Exploring Program Behaviors Using Static Analysis Results
13mWebAssembly Debugging Demystified
01h 05mBack To Basics: Debugging Techniques
38mDebugging Embedded Linux
43mDebug Better in Android Studio
52mNobody Can Program Correctly - Lessons From 20 Years of Debugging C++ Code
36mDAAS: Debugging as a skill!
