rr是一个轻量级的工具,用于记录、回放和调试应用程序的执行(进程和线程的树)。调试用非常有效的反向执行来扩展gdb,结合标准的gdb/x86功能,如硬件数据观察点,使调试更有趣。关于这个项目的更多信息,包括如何安装、运行和构建rr的说明,请见rr-project.org。目前最好的技术概述是论文《Engineering Record And Replay For Deployability》。扩展技术报告。
系统要求
- 需要Linux内核≥3.11(用于
PTRACE_SETSIGMASK)。 - rr目前需要以下任何一种。
- 一个具有Nehalem(2010)或更高版本微架构的英特尔CPU。
- 某些AMD Zen或更高版本的处理器(见https://github.com/rr-debugger/rr/wiki/Zen)。
- 某些AArch64微架构(例如ARM Neoverse N1或Apple Silicon M系列)。
- 只要虚拟机支持硬件性能计数器的虚拟化,就支持在虚拟机客户中运行。(已知VMware和KVM可以工作;Xen不支持。)