rr README

The project's README from github.com/rr-debugger/rr. As one markdown file: README.md.

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

rr (rr-debugger/rr)

Searching Database…

10.7K ·GitHub
这是干什么的?rr 是一个轻量级工具,可以记录应用程序的执行过程——包括整棵进程和线程树——并让你回放和调试这份记录。
那我是用 rr 代替 gdb 来调试,还是配合它一起用?是配合使用:rr 是 gdb 的扩展,你只需录制一次运行,然后在 gdb 里调试这份回放,gdb 在原有功能之上还能获得非常高效的反向执行能力。
它需要什么样的机器和操作系统才能运行?需要内核版本 4.7 或更新的 Linux,以及受支持的 CPU:Intel Nehalem(2010 年)或更新的型号、部分 AMD Zen 或更新的处理器,或某些 AArch64 微架构。
在 macOS 或 Windows 上也能用吗?不能,rr 只支持 Linux。README 里提到的 Apple Silicon M 系列芯片,也只是作为 AArch64 硬件满足 rr 的 Linux 要求,并不是支持 macOS。
能在虚拟机或云服务器里运行吗?可以,作为虚拟机里的客户系统运行,前提是虚拟机能对硬件性能计数器进行虚拟化:部分 VMware、KVM、AWS 和 GCP 配置已确认可用,而 Xen 环境则不行。
排查 bug 时,反向执行到底能给我带来什么?你可以在 gdb 里回放录制内容,反向运行来找到故障的根源,同时硬件数据观察点能显示内存是在哪里被修改的——README 说这种组合能让调试变得轻松愉快得多。
它支持多线程程序吗?支持——rr 录制和回放的是整棵进程和线程树,多线程应用正是它专门为之设计的场景。
有没有更深入的技术文档讲解 rr 的工作原理?有——README 指向论文 'Engineering Record And Replay For Deployability: Extended Technical Report',称它是这个项目最好的技术概览。
Size
26.6 MB
Stars
10.7K
Age
15y
Commits · 90 Days