~/talk

Modern Linux C++ Debugging Tools - Under the Covers

Talkat ACCU 2021 Online · 2021-03-10..03-13· [linux-and-operating-systems, c-and-cpp]
name:Greg Law
linkedin:gregthelaw
name:Dewang Li
links:none on file
slides:none on file

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

  1. 0:00Start
  2. 0:15Debugging - our dirty secret
  3. 4:16Types of tools and some examples
  4. 13:08Running a program under ptrace
  5. 15:08Signal algorithm
  6. 37:59Syscall restart
  7. 52:09Debugging optimized code
  8. 56:17Address Sanitizer + Valgrind
  9. 58:29Address Sanitizer - compile-time instrumentation
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.