rr
rr records application runs and replays them deterministically, giving developers a way to investigate program behavior with time-travel debugging.
What rr is
rr records application runs and replays them deterministically, giving developers a way to investigate program behavior with time-travel debugging. During replay, it supports moving backward under gdb, including to breakpoints and data watchpoints. It can handle multi-process workloads, even entire containers, and its traces are described as compact, durable, and portable between machines. rr uses the standard gdb server interface and can also provide a gdb command-line interface. Supported languages include C, C++, and Go; application examples include Firefox, Chrome, QEMU, LibreOffice, and Go programs. The IDE guide lists Visual Studio Code, CLion, QtCreator, Eclipse, Emacs GUD/gdb-mi, NeoVim, gdbgui, and Seer as known to work with it. rr is free and open source for Linux. It requires Linux kernel 4.7 or later and a supported processor. Installation instructions cover Fedora and Ubuntu packages, with building from source recommended if packages do not work.
Good
- Supports reverse execution to breakpoints and data watchpoints.
- Records and replays multi-process workloads, including containers.
- Traces are described as durable, compact, and portable.
- Works with several listed IDEs and the gdb interface.
Watch out
- Emulates a single-core machine.
- Cannot record processes sharing memory outside the recording tree.
- Does not support every system call.
- Requires Linux kernel 4.7 or later and supported hardware.
Who it suits
rr suits developers working on Linux applications in C, C++, or Go who need to replay executions and debug backward. It may also fit teams using one of the IDEs listed as known to work with rr.
Verdict
rr provides replay-based debugging with reverse execution for Linux developers. Its single-core emulation and recording constraints are important to account for when evaluating whether it fits a workload.
The facts
Each one read from rr's own pages, with the date it was checked.
What it does
- Community support
- The site directs users to the mailing list and #rr on chat.mozilla.org for questions.checked 4 Oct 2026
- Development
- The repository says rr originated at Mozilla and development is sponsored by Pernosco.checked 4 Oct 2026
- GDB interface
- rr implements the standard gdb server interface and can also present the gdb command-line interface.checked 4 Oct 2026
- Hardware requirements
- The repository lists supported Intel Nehalem-or-later, certain AMD Zen-or-later, and certain AArch64 CPUs, including Apple Silicon M-series.checked 4 Oct 2026
- IDE integrations
- The IDE guide lists Visual Studio Code, CLion, QtCreator, Eclipse, Emacs GUD/gdb-mi, NeoVim, gdbgui, and Seer as known to work with rr.checked 4 Oct 2026
- IDE support
- The project lists Visual Studio Code, CLion, QtCreator, Eclipse, emacs GUD/gdb-mi, NeoVim, gdbgui, and Seer as known to work.checked 10 Oct 2026
- Installation
- The site provides Fedora and Ubuntu package installation instructions and recommends building from source if packages do not work.checked 4 Oct 2026
- Integrations
- rr works with gdb scripting and IDEs that support GUI debugging through gdb or gdbserver.checked 10 Oct 2026
- Intended users
- The project describes rr as aspiring to be a primary C/C++ debugging tool for Linux and says it is used by developers to fix bugs.checked 10 Oct 2026
- Kernel requirement
- The repository lists Linux kernel 4.7 or later as a system requirement.checked 4 Oct 2026
- Limitations
- rr emulates a single-core machine, so parallel programs incur the slowdown of running on one core.checked 10 Oct 2026
- Performance
- Recording overhead depends on workload; the site reports slowdowns down to 1.2x on Firefox test suites and lower overhead for mostly single-threaded programs than competing systems it knows of.checked 10 Oct 2026
- Purpose
- rr records, replays, and debugs application executions deterministically.checked 10 Oct 2026
- Reverse execution
- rr provides reverse execution under gdb, including reverse execution to breakpoints and data watchpoints.checked 10 Oct 2026
- Support
- The project directs users with questions to its mailing list or the #rr channel on chat.mozilla.org.checked 10 Oct 2026
- System requirements
- rr requires a reasonably modern x86 CPU or certain ARM CPUs, and its README specifies Linux kernel and CPU architecture requirements.checked 10 Oct 2026
- Trace portability
- The project describes rr traces as durable, compact, and portable between machines.checked 10 Oct 2026
- Workloads
- rr supports recording and replaying multi-process workloads, including entire containers.checked 10 Oct 2026
Where it runs
- Supported applications
- The site names Firefox, Chrome, QEMU, LibreOffice, and Go programs as examples of applications rr can record and replay.checked 10 Oct 2026
Alternatives to rr
- 1

PyCharm
Free planOpen sourceAPILinuxmacOSSelf-hosted8.2From $100 a year - 2

BugSnag
Free planAndroidiOSWebAPI7.8Free plan - 3

CLion
Free planExtensionLinuxmacOSSelf-hosted7.8From $10.90 a month - 4

IntelliJ IDEA
Free planAPIExtensionLinuxmacOS7.8Free plan - 5

Backtrace
Free planAndroidiOSWebLinux7.7From $600 a year - 6

Airbrake
Free planAndroidiOSWebAPI7.6From $17 a month
