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-06-09 14:05:29
最后一次提交2025-06-10 01:59:43
發布數41
最新版本名稱5.9.0 (發布於 )
第一版名稱0.0prerelease.0 (發布於 )
用户参与
星數9.9k
關注者數158
派生數616
提交數7.1k
已啟用問題?
問題數2105
打開的問題數459
拉請求數1581
打開的拉請求數16
關閉的拉請求數267
项目设置
已啟用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.)