Back to Skills

rr-debugger

Deterministic debugging with rr record-replay. Use when debugging crashes, ASAN faults, or when reverse execution is needed. Provides reverse-next, reverse-step, reverse-continue commands and crash trace extraction.

1,014stars119forksUpdated 1/23/2026

Security Assessment

Safe(100/100)
Security Score100/100

About rr-debugger

The rr-debugger skill provides deterministic debugging using the rr tool, which offers record-replay debugging capabilities. This skill is primarily useful for debugging crashes, AddressSanitizer (ASAN) faults, and situations where reverse execution is needed. By allowing the capture of a program's execution trace, users can replay the program’s state at any point in time, enabling the analysis of crashes and faults that occur during runtime. With rr-debugger, users can step backward through execution, making it easier to identify the exact cause of issues in a program.

The skill includes powerful reverse execution commands such as reverse-next, reverse-step, and reverse-continue, which help users backtrack in the execution of their program. It also supports extracting crash traces, both for regular crashes and ASAN-related faults. This functionality is enhanced with standard gdb commands for inspecting variables, memory, and source code. Users can automate crash trace extraction through a provided script, making the debugging process more efficient and less error-prone. The rr-debugger is essential for developers looking to debug complex issues that occur in programs, particularly when reverse debugging is crucial for identifying faults that traditional debugging cannot easily uncover.

FAQ

How do I start using the rr-debugger?

To start using rr-debugger, first record the program using the command `rr record <program> [args]`. Then, replay the recorded execution using `rr replay`, which opens the gdb interface where you can utilize reverse execution commands.

Is rr-debugger compatible with all programs?

While rr-debugger is highly versatile, it works best with programs that are compatible with the rr record-replay functionality. Some programs with heavy reliance on external resources or network state may not work perfectly with rr.

Can I use rr-debugger to debug ASAN crashes?

Yes, rr-debugger provides specific steps for debugging ASAN crashes. After recording the ASAN program with `rr record`, you can replay the program and use gdb commands like `bt`, `up`, and `reverse-continue` to trace back to the fault before ASAN intervention.

What are the limitations of rr-debugger?

One limitation of rr-debugger is that it may not be compatible with all system configurations, particularly when dealing with certain OS features or programs that require real-time execution. Additionally, the debugger may consume significant memory depending on the program size and execution trace.

Install rr-debugger

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill