Репозиторий |
|
---|---|
Веб-сайт | rr-project.org |
В вычислительной технике rr — это отладочный инструмент для Linux, предназначенный для записи и воспроизведения выполнения программы . Во время фазы воспроизведения rr предоставляет расширенные возможности отладки gdb , которые поддерживают обратное выполнение. [1]
rr изначально был разработан Mozilla для отладки Mozilla Firefox на общедоступном оборудовании и программном обеспечении. [2] rr теперь широко используется за пределами Mozilla и способен отлаживать программное обеспечение, такое как Google Chrome , QEMU и LibreOffice . [3] rr — это бесплатное программное обеспечение . [4]
Во время фазы записи rr записывает все входные данные в группу процессов Linux из ядра, а также недетерминированные эффекты ЦП (например, rdtsc ). Эти входные данные записываются на диск и становятся «трассой». После записи трассы ее можно воспроизводить столько раз, сколько необходимо, и все состояние будет воспроизведено точно. Во время воспроизведения rr будет действовать как gdbserver, предоставляя gdb-опыт, способный к обратному выполнению. Поскольку ошибка может воспроизводиться снова и снова, rr предоставляет новые методы отладки проблем, которые очень трудно решить с помощью традиционных отладчиков. [4]
Проект rr описан в статье «Облегченная запись и воспроизведение в пользовательском пространстве», более подробная информация — в статье «Инженерная запись и воспроизведение для обеспечения возможности развертывания».