Bringing Record and Replay debugging everywhere on Linux
a year ago
- #debugging
- #record-replay
- #software-development
- Modified rr debugger to run without CPU Hardware Performance counters, enabling use in cloud VMs and containers.
- Introduces Software Counters mode rr, using lightweight dynamic and static instrumentation.
- Record and Replay (rr) allows programs to run identically across replays by logging non-deterministic aspects.
- Useful for debugging as it captures exact program state, including user inputs, network calls, and thread interleaving.
- rr is the only open-source system meeting criteria like broad usability, performance, and compatibility with gdb/lldb.
- Software Counters mode rr addresses the limitation of requiring CPU HW performance counters, expanding rr's accessibility.
- Project inspired by the challenges of porting rr to Rust and the need for rr in restricted environments.
- Details on building and running Software Counters mode rr available on GitHub.