rr

记录和回放框架。(Record and Replay Framework)

Github星跟踪图

概观

rr 是一款轻量级工具,用于记录、重放和调试程序(进程树和线程)的执行。调试扩展了 gdb,具有非常高效的反向执行功能,结合硬件数据监视点等标准 gdb/x86 功能,使调试更加有趣。有关该项目的更多信息,包括如何安装、运行和构建 rr 的说明,请访问 https://rr-project.org。目前最好的技术概述是论文 Engineering Record And Replay For Deployability: 工程记录和可部署性回放 扩展技术报告》。

或者直接访问安装和构建说明

请作出贡献!在提交拉取请求之前,请务必查看拉取请求清单。

如果您觉得 rr 有用,请添加推荐信

rr 的开发由 Pernosco 赞助,由 Mozilla 发起。

系统要求

  • Linux kernel ≥ 3.11 是必需的 (对于 PTRACE_SETSIGMASK).
  • rr 目前需要配备 Intel CPU with Nehalem (2010) 或更高版本微架构的 Intel CPU。
  • 只要 VM 支持硬件性能计数器的虚拟化,就支持在 VM guest 虚拟机上运行。(VMware 和 KVM 已知可以工作,Xen 不支持。)

(First edition: vz edited at 2019.08.24)

(Revised on 2024/07/27)

主要指标

概览
名称与所有者rr-debugger/rr
主编程语言C++
编程语言Shell (语言数: 11)
平台Docker, Linux
许可证Other
所有者活动
创建于2011-08-25 18:59:32
推送于2025-04-15 06:02:16
最后一次提交2025-04-14 23:01:48
发布数41
最新版本名称5.9.0 (发布于 )
第一版名称0.0prerelease.0 (发布于 )
用户参与
星数9.7k
关注者数158
派生数610
提交数7.1k
已启用问题?
问题数2080
打开的问题数450
拉请求数1577
打开的拉请求数15
关闭的拉请求数266
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

Overview

Build and test status

rr is a lightweight tool for recording, replaying and debugging execution of applications (trees of processes and threads).
Debugging extends gdb with very efficient reverse-execution, which in combination with standard gdb/x86 features like hardware data watchpoints, makes debugging much more fun. More information about the project, including instructions on how to install, run, and build rr, is at https://rr-project.org. The best technical overview is currently the paper Engineering Record And Replay For Deployability: Extended Technical Report.

Or go directly to the installation and building instructions.

Please contribute! Make sure to review the pull request checklist before submitting a pull request.

If you find rr useful, please add a testimonial.

rr development is sponsored by Pernosco and was originated by Mozilla.

System requirements

  • Linux kernel >= 4.7 (for support of __WALL in waitid())
    • rr 5.6.0 worked with kernel 3.11 (requiring PTRACE_SETSIGMASK)
  • rr currently requires either:
  • Running in a VM guest is supported, as long as the VM supports virtualization of hardware performance counters. (VMware and KVM are known to work; Xen does not.)