En informática, rr es una herramienta de depuración para Linux diseñada para registrar y reproducir la ejecución de programas . Durante la fase de reproducción, rr proporciona una experiencia de depuración gdb mejorada que admite la ejecución inversa. [1]
rr fue desarrollado originalmente por Mozilla para depurar Mozilla Firefox en hardware y software básico. [2] rr ahora se usa ampliamente fuera de Mozilla y es capaz de depurar software como Google Chrome , QEMU y LibreOffice . [3] rr es software gratuito . [4]
Pernosco, un depurador comercial basado en la nube, está construido sobre rr. [5]
Diseño
Durante la fase de grabación, rr registra todas las entradas a un grupo de procesos de Linux desde el kernel, así como los efectos de CPU no determinantes (como rdtsc ). Estas entradas se registran en el disco y se convierten en la "traza". Una vez que se registra la traza, se puede reproducir tantas veces como se desee y todos los estados se reproducirán exactamente. Durante la reproducción, rr actuará como un servidor gdb proporcionando una experiencia gdb capaz de ejecución inversa. Debido a que un error se puede reproducir una y otra vez, rr habilita nuevos métodos para depurar problemas que son muy difíciles de resolver con los depuradores tradicionales. [4]
El diseño de rr está documentado en el documento Lightweight User-Space Record And Replay , con más detalles en Engineering Record And Replay For Deployability .
Ver también
Referencias
- ^ "rr 4.0 lanzado con ejecución inversa" .
- ^ "Presentando rr" .
- ^ "rr: grabación ligera y depuración determinista" . rr-project.org .
- ^ a b "mozilla / rr" . GitHub .
- ^ "Preguntas frecuentes de Pernosco" . pernos.co .