“Debugging Linux C++”
summary
Demos show specific Linux C++ techniques: GDB reverse debugging (process record) and dynamic printf plus Python scripting to call inferiors, set conditional/watch breakpoints and inspect optimized builds; valgrind (memcheck) with its vgdb server to drop into GDB for uninitialized-memory traces; AddressSanitizer finds out‑of‑bounds far faster than valgrind; rr provides much faster, replayable traces but needs modern Intel PMU support; ftrace/strace/ltrace and /proc prove a mysterious SIGKILL and reveal where the bug corrupts the stack.
AI-written summary · about
chapters (17)
- 0:00Introduction to debugging
- 2:53Debugging history and tools
- 10:40GDB overview and features
- 11:56Using GDB TUI mode
- 14:21GDB Python scripting
- 18:45GDB signals and breakpoints
- 23:31Watchpoints in GDB
- 25:28Multi-threaded debugging
- 27:04Dynamic printf in GDB
- 30:02Advanced GDB capabilities
- 33:16Debugging optimized code
- 35:04Valgrind for memory errors
- 41:25Address sanitizer tools
- 44:04Reversible debugging
- 50:51Ftrace for system events
- 55:11Strace and Ltrace
- 56:41Perf and compiler checks
related talks
01h 29mModern Linux C++ Debugging Tools - Under the Covers
01h 29mMore GDB wizardry and 8 other essential Linux application debugging tools
18mFavourite GDB developers tricks
32mCross Debugging on Linux : A History, Current State of the Art and Coming Improvements
50mLinux loves Ruby, Ruby loves Linux
52mLinux Kernel Debugging: Going Beyond Printk Messages
38mProgrammable debuggers and the Linux kernel (drg...
55mLinux Kernel Debug And Profiling Tools
