Repolode
rr-debugger

rr-debugger/rr

Ferramenta leve para Linux que grava a execução de programas e a reproduz de forma determinística, adicionando execução reversa ao gdb.

Estrelas
10,734
Forks
666
Issues abertas
477
Último commit
há 6 dias

O que é?

rr grava a execução de aplicativos, incluindo árvores de processos e threads, e permite reproduzir essa gravação repetidamente no gdb. Como a reprodução repete a mesma execução, você pode avançar passo a passo para trás, definir breakpoints em eventos anteriores e inspecionar o estado em qualquer ponto de uma execução passada. Isso facilita investigar bugs não determinísticos difíceis de reproduzir.

A experiência de depuração amplia o gdb em vez de substituí-lo. Recursos padrão do gdb, como watchpoints de dados em hardware, continuam disponíveis durante a reprodução, e os comandos de execução reversa são adicionados a eles. O projeto é escrito em C++ e tem como alvo o Linux.

rr depende de suporte específico de hardware e do kernel. Requer Linux kernel 4.7 ou posterior e determinados processadores Intel, AMD Zen ou AArch64, e pode ser executado em máquinas virtuais que virtualizam contadores de desempenho de hardware.

Recursos principais

  • 01Grava a execução de aplicativos com vários processos e threads para reprodução posterior.
  • 02Oferece suporte a comandos de execução reversa no gdb.
  • 03Mantém disponíveis durante a reprodução os watchpoints de dados em hardware do gdb.
  • 04Reproduz as gravações de forma determinística, permitindo examinar repetidamente uma execução com falha.
  • 05Funciona no Linux com processadores Intel, AMD Zen e AArch64 compatíveis.

Casos de uso

  • Depurar falhas intermitentes ou condições de corrida que não podem ser reproduzidas sob demanda.
  • Avançar passo a passo para trás a partir de uma falha e encontrar a instrução que causou um valor incorreto.
  • Investigar bugs em programas Linux grandes com vários processos ou threads.

Início rápido

  1. 1

    Consulte as instruções de instalação e compilação na wiki do projeto

  2. 2

    Confirme se o seu sistema atende aos requisitos (Linux kernel 4.7 ou posterior e uma CPU Intel, AMD Zen ou AArch64 compatível)

Antes de usar

  • Funciona apenas no Linux e requer uma CPU compatível ou uma VM que exponha contadores de desempenho de hardware.
  • A licença está listada como NOASSERTION; por isso, confira os termos de licença do repositório antes de usar.

Tópicos

#debugger#gdb#linux#reverse-execution#record-replay#c-plus-plus

Perguntas frequentes

O que é rr?
Ferramenta leve para Linux que grava a execução de programas e a reproduz de forma determinística, adicionando execução reversa ao gdb. rr grava a execução de aplicativos, incluindo árvores de processos e threads, e permite reproduzir essa gravação repetidamente no gdb. Como a reprodução repete a mesma execução, você pode avançar passo a passo para trás, definir breakpoints em eventos anteriores e inspecionar o estado em qualquer ponto de uma execução passada. Isso facilita investigar bugs não determinísticos difíceis de reproduzir.
rr é gratuito? Qual é a licença?
rr é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
rr ainda é mantido?
Manutenção ativa. O último commit de rr foi em 2 de nov. de 2026.
Para que posso usar rr?
Depurar falhas intermitentes ou condições de corrida que não podem ser reproduzidas sob demanda. Avançar passo a passo para trás a partir de uma falha e encontrar a instrução que causou um valor incorreto. Investigar bugs em programas Linux grandes com vários processos ou threads.
Como instalar rr?
Consulte as instruções de instalação e compilação na wiki do projeto Confirme se o seu sistema atende aos requisitos (Linux kernel 4.7 ou posterior e uma CPU Intel, AMD Zen ou AArch64 compatível)
Onde consigo rr?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/rr-debugger/rr

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados