~/talk

Nobody Can Program Correctly - Lessons From 20 Years of Debugging C++ Code

Talkat CppCon 2022 · 2022-09-11..09-16· [testing]
slides:none on file

Twenty years of real bug hunts condense to concrete moves: increase reports with crash reporting backends (Google crashpad), reproduce with stress tests and the sanitizers like address sanitizer thread sanitizer and UB sanitizer, inspect timing and file-lock assumptions that break with multithreaded access, find root causes with git bisect and reverse debuggers, fix by adding asserts in release and replacing fragile patterns (e.g. the shared-memory size_t mismatch between 32/64-bit), then write targeted tests and safer abstractions.

AI-written summary · about

  1. 0:00Introduction
  2. 0:51What is a bug
  3. 2:01How do you notice bugs
  4. 4:22Implement strict error checking
  5. 6:45Bug database
  6. 7:59One in a million
  7. 9:50First practical example
  8. 12:59The debugging process
  9. 13:50Reproducibility
  10. 18:05desktop environments
  11. 19:51error reporting
  12. 21:00second quiz
  13. 24:45Finding the real problem
  14. 25:43Tracing
  15. 29:53Binary Search
  16. 32:00Debugging Techniques
  17. 33:05Debugging Tools
  18. 34:28Passive Assembly Skills
  19. 37:34Debugging Workflow
  20. 40:54Classification
  21. 42:04Big Problems
  22. 44:46Small Problems
~/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.