rr(표준)
rr (debugging)컴퓨팅에서 rr은 프로그램 실행을 기록하고 재생하도록 설계된 Linux용 디버깅 도구입니다.재생 단계 동안 rr은 리버스 [1]실행을 지원하는 확장 gdb 디버깅 경험을 제공합니다.
rr은 원래 Mozilla에 의해 상용 하드웨어 및 소프트웨어에서 [2]Mozilla Firefox를 디버깅하기 위해 개발되었습니다.rr은 현재 Mozilla 외부에서 널리 사용되며 Google Chrome, QEMU, LibreOffice [3]등의 소프트웨어를 디버깅할 수 있습니다.rr은 프리 소프트웨어입니다.[4]
설계.
기록 단계 동안 rr은 커널에서 Linux 프로세스 그룹에 대한 모든 입력과 비결정적 CPU 효과(rdtsc 등)를 기록합니다.이러한 입력은 디스크에 기록되고 "추적"이 됩니다.일단 트레이스가 기록되면 원하는 횟수만큼 재생할 수 있으며 모든 상태가 정확하게 재생됩니다.재생 중 rr은 gdbserver로 동작하며 gdb 익스피리언스를 제공하여 리버스 실행이 가능합니다.버그는 반복해서 재생될 수 있기 때문에 rr를 사용하면 기존 [4]디버거로는 해결하기 어려운 새로운 문제를 디버깅할 수 있습니다.
rr의 설계는 "Lightweight User-Space Record And Replay" (Lightweight 사용자 공간 기록 및 재생) 백서에 설명되어 있습니다. 자세한 내용은 "Engineering Record And Replay For Deployability" (전개를 위한 엔지니어링 기록 및 재생)를 참조하십시오.
「 」를 참조해 주세요.
레퍼런스
- ^ "rr 4.0 Released With Reverse Execution".
- ^ "Introducing rr".
- ^ "rr: lightweight recording & deterministic debugging". rr-project.org.
- ^ a b "rr-debugger/rr". GitHub.