~/talk

Time Travel Debugging - Debug Complex C++ Bugs With Software from Undo

Talkat C++ on Sea 2024 · 2024-07-02..07-05· [observability, c-and-cpp]
links:none on file
slides:none on file

Demo shows Undo’s time travel debugger recording instruction-level traces of a running process (Chocolate Doom demo) and replaying them to rewind from a single pixel to the rendering routine, the projected sprite, and the damage routine that shot the zombie. A separate demo finds why integer_sqrt(255) returns 0 by using the last command to locate a cache hit corrupted by truncation of an adjacent -1. Implementation uses JIT instrumentation, snapshot + event log replay, and single-thread serialization; works on large workloads and multiday runs.

AI-written summary · about

  1. 0:00Time travel debugging intro
  2. 2:12Debugging Doom with time travel
  3. 9:42C++ debugging pain points
  4. 17:16Why time travel debugging matters
  5. 18:21Cache corruption bug debug
  6. 29:06Building a debugging time machine
  7. 36:54Handling non-determinism
  8. 41:50Recording at process boundaries
  9. 43:56Measuring execution time
  10. 51:33Memory determinism & threading
  11. 57:30Q&A
~/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.