Лёгкая кроссплатформенная IDE для C/C++ и GNU Assembly на Qt, преемница Dev-C++ 7.
rr-debugger/rr
Лёгкий инструмент для Linux, который записывает выполнение программы и детерминированно воспроизводит его, добавляя обратное выполнение в gdb.
- Звёзды
- 10,734
- Форки
- 666
- Открытые issues
- 477
- Последний коммит
- 5 дней назад
Что это?
rr записывает выполнение приложений, в том числе деревьев процессов и потоков, а затем позволяет многократно воспроизводить запись в gdb. Поскольку при воспроизведении повторяется то же выполнение, можно двигаться назад, ставить точки останова на более ранних событиях и проверять состояние в любой момент прошедшего запуска. Это позволяет на практике находить недетерминированные ошибки, которые сложно воспроизвести.
rr дополняет gdb, а не заменяет его. Во время воспроизведения остаются доступны стандартные возможности gdb, например аппаратные точки наблюдения за данными, а поверх них добавляются команды обратного выполнения. Проект написан на C++ и предназначен для Linux.
rr требует поддержки определённого оборудования и ядра. Нужна версия ядра Linux 4.7 или новее и процессор Intel, AMD Zen или AArch64 определённых моделей. Также rr может работать в гостевых VM, где виртуализированы аппаратные счётчики производительности.
Ключевые возможности
- 01Записывает выполнение многопроцессных и многопоточных приложений для последующего воспроизведения.
- 02Поддерживает команды обратного выполнения в gdb.
- 03Позволяет использовать аппаратные точки наблюдения за данными gdb во время воспроизведения.
- 04Детерминированно воспроизводит записи, поэтому сбойный запуск можно исследовать многократно.
- 05Работает в Linux на поддерживаемых процессорах Intel, AMD Zen и AArch64.
Сценарии использования
- Поиск причин периодически возникающих сбоев или состояний гонки, которые не удаётся воспроизвести по требованию.
- Движение назад от сбоя, чтобы найти инструкцию, из-за которой появилось неверное значение.
- Исследование ошибок в крупных многопроцессных или многопоточных программах для Linux.
Быстрый старт
- 1
Ознакомьтесь с инструкциями по установке и сборке в wiki проекта
- 2
Убедитесь, что ваша система соответствует требованиям (Linux kernel 4.7 или новее, поддерживаемый процессор Intel, AMD Zen или AArch64)
Что важно знать
- Поддерживается только Linux; требуется совместимый процессор или VM, предоставляющая доступ к аппаратным счётчикам производительности.
- В качестве лицензии указано NOASSERTION, поэтому перед использованием ознакомьтесь с условиями лицензии в репозитории.
Темы
Частые вопросы
- Что такое rr?
- Лёгкий инструмент для Linux, который записывает выполнение программы и детерминированно воспроизводит его, добавляя обратное выполнение в gdb. rr записывает выполнение приложений, в том числе деревьев процессов и потоков, а затем позволяет многократно воспроизводить запись в gdb. Поскольку при воспроизведении повторяется то же выполнение, можно двигаться назад, ставить точки останова на более ранних событиях и проверять состояние в любой момент прошедшего запуска. Это позволяет на практике находить недетерминированные ошибки, которые сложно воспроизвести.
- rr можно использовать бесплатно? Какая у него лицензия?
- rr распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- rr всё ещё поддерживается?
- Активно поддерживается. Последний коммит в rr — 2 нояб. 2026 г..
- Для чего можно использовать rr?
- Поиск причин периодически возникающих сбоев или состояний гонки, которые не удаётся воспроизвести по требованию. Движение назад от сбоя, чтобы найти инструкцию, из-за которой появилось неверное значение. Исследование ошибок в крупных многопроцессных или многопоточных программах для Linux.
- Как установить rr?
- Ознакомьтесь с инструкциями по установке и сборке в wiki проекта Убедитесь, что ваша система соответствует требованиям (Linux kernel 4.7 или новее, поддерживаемый процессор Intel, AMD Zen или AArch64)
- Где скачать rr?
- Исходный код и инструкции по установке — на GitHub: https://github.com/rr-debugger/rr
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Расширение на Python, которое добавляет в GDB улучшенный интерфейс для разработки эксплойтов и поддержки x86, ARM, MIPS, PowerPC и SPARC.
Нативный графический отладчик пользовательского режима для локальной отладки нескольких процессов на x64 в Windows и Linux; проект пока в альфа-версии.
Отладчик для Go, который легко запускать и использовать, не отвлекаясь на сам инструмент.
Бесплатная утилита для Windows: мониторинг ресурсов, анализ процессов, отладка ПО и поиск вредоносных программ; преемник Process Hacker.
Неофициальное продолжение dnSpy — отладчика и редактора сборок .NET и Unity, работающего без исходного кода.