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, который получает очень эффективный обратный执行... обратное выполнение поверх стандартных возможностей.
Какой компьютер и какая ОС нужны для работы?Linux с ядром 4.7 или новее и поддерживаемый процессор: Intel Nehalem (2010) или новее, некоторые процессоры AMD Zen или новее, а также определённые микроархитектуры AArch64.
А на macOS или Windows получится использовать?Нет, rr работает только под Linux. Даже упомянутые в README чипы Apple Silicon серии M поддерживаются как железо AArch64 в рамках требований rr к Linux, а не на macOS.
Можно запустить его в виртуалке или облачном инстансе?Да, в качестве гостевой ВМ, если виртуализация сохраняет аппаратные счётчики производительности: известно, что работают некоторые конфигурации VMware, KVM, AWS и GCP, а вот Xen не работает ни в каком виде.
Что мне реально даёт обратное выполнение при поиске бага?Вы воспроизводите запись в 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