Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rr-debugger/rr
Record and Replay Framework
https://github.com/rr-debugger/rr
debugger gdb linux reverse-execution
Last synced: 3 days ago
JSON representation
Record and Replay Framework
- Host: GitHub
- URL: https://github.com/rr-debugger/rr
- Owner: rr-debugger
- License: other
- Created: 2011-08-25T18:59:32.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2024-10-26T02:31:55.000Z (about 2 months ago)
- Last Synced: 2024-10-29T11:24:28.778Z (about 1 month ago)
- Topics: debugger, gdb, linux, reverse-execution
- Language: C++
- Homepage: http://rr-project.org/
- Size: 25.4 MB
- Stars: 9,157
- Watchers: 159
- Forks: 587
- Open Issues: 455
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome - rr-debugger/rr - Record and Replay Framework (C++)
- awesome-hacking-lists - rr-debugger/rr - Record and Replay Framework (C++)
README
# Overview
[![Build and test status](https://github.com/rr-debugger/rr/actions/workflows/build-and-test-main.yml/badge.svg?branch=master)](https://github.com/rr-debugger/rr/actions)
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](https://rr-project.org). The best technical overview is currently the paper [Engineering Record And Replay For Deployability: Extended Technical Report](https://arxiv.org/pdf/1705.05937.pdf).Or go directly to the [installation and building instructions](https://github.com/rr-debugger/rr/wiki/Building-And-Installing).
Please contribute! Make sure to review the [pull request checklist](/CONTRIBUTING.md) before submitting a pull request.
If you find rr useful, please [add a testimonial](https://github.com/rr-debugger/rr/wiki/Testimonials).
rr development is sponsored by [Pernosco](https://pernos.co) and was originated by [Mozilla](https://www.mozilla.org).
# 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:
* An Intel CPU with [Nehalem](https://en.wikipedia.org/wiki/Nehalem_%28microarchitecture%29) (2010) or later microarchitecture.
* Certain AMD Zen or later processors (see https://github.com/rr-debugger/rr/wiki/Zen)
* Certain AArch64 microarchitectures (e.g. ARM Neoverse N1 or the Apple Silicon M-series)
* 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.)