Modern Linux C++ Debugging Tools - Under the Covers
summary
Examines how Linux debuggers and checkers actually work: GDB uses ptrace tracing stop and inline breakpoint patching (single‑step to resume), DWARF provides DWARF location lists to map registers to source even under -g3 and optimization, sanitizers and Valgrind use shadow memory and red zones to find overruns, and modern record‑and‑replay tools keep a compact record-and-replay event log (rr uses retired‑branch counters; Live Recorder uses instrumentation). Notes practical pitfalls: signal masking, RHEL6 utrace bugs, cloud CPUs lacking perf counters, and a static‑analysis demo that flags three real memory leaks.
AI-written summary · about
chapters (9)
- 0:00Start
- 0:15Debugging - our dirty secret
- 4:16Types of tools and some examples
- 13:08Running a program under ptrace
- 15:08Signal algorithm
- 37:59Syscall restart
- 52:09Debugging optimized code
- 56:17Address Sanitizer + Valgrind
- 58:29Address Sanitizer - compile-time instrumentation
related talks
57mModern Linux C++ debugging tools - under the covers
58m“Debugging Linux C++”
01h 29mMore GDB wizardry and 8 other essential Linux application debugging tools
20mHow Debuggers Work
32mCross Debugging on Linux : A History, Current State of the Art and Coming Improvements
01h 26mBoost your C/C++ Developer's Debugging Powers with GDB
18mFavourite GDB developers tricks
38mProgrammable debuggers and the Linux kernel (drg...
