rr logo

rr

Enables deterministic replay and reverse execution for debugging program failures.

Made by Mozilla

  • development

  • programming

What is rr?

rr is a debugging tool that enables users to record and replay program execution. During the replay phase, rr provides an enhanced gdb debugging experience that supports reverse execution. rr is a test double framework that features a rich selection of double techniques and a terse syntax. It is an open-source tool hosted on GitHub with 318 stars and 29 forks. rr aims to be the primary C/C++ debugging tool for Linux, enhancing the functionality of gdb. Users can record a failure once and then debug the recording deterministically as many times as needed, with the same execution replayed each time. rr also offers efficient reverse execution under gdb, allowing users to set breakpoints and data watchpoints and quickly reverse-execute to where they were hit. The tool is used by many developers to fix both easy and hard bugs, making debugging a more efficient process

Highlights

  • Record and replay program execution
  • Enhanced gdb debugging experience with reverse execution
  • Rich selection of test double techniques and terse syntax
  • Works on real applications, used by many developers to fix bugs

Platforms

  • Linux

Languages

  • English

Features

    • Debugging