~/talk

How do Time Travel Debuggers Work? - Design and Implementation of a Time Travel Debugger

Talkat C++Now 2024 · 2024-04-29..05-03· [c-and-cpp]
name:Greg Law
linkedin:gregthelaw
slides:none on file

Compares three real systems — rr, TTD, and Undo.io — and shows a live Doom recording that replays a process by capturing an event log plus occasional snapshots so any memory or register state can be inspected. rr relies on hardware perf counters, Undo.io uses JIT binary translation, and TTD records more memory reads to support parallel recording; typical overhead is about 1–5x slowdown. Threads serialize on replay so most races reproduce, shared memory and some CPU instructions remain tricky, but recordings are portable and debuggable offline.

AI-written summary · about

  1. 0:00Demo and introduction
  2. 14:04Time travel solutions overview
  3. 19:12Design decision 1: Re-execution
  4. 30:30Design decision 2: Process boundary
  5. 34:57Design decision 3: Tracking time
  6. 38:33Instrumentation techniques
  7. 47:55Design decision 4: Memory determinism
  8. 56:58Comparison and summary
  9. 1:10:20Final soapbox and QA
~/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.