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" (전개를 위한 엔지니어링 기록 및 재생)를 참조하십시오.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "rr 4.0 Released With Reverse Execution".
  2. ^ "Introducing rr".
  3. ^ "rr: lightweight recording & deterministic debugging". rr-project.org.
  4. ^ a b "rr-debugger/rr". GitHub.

외부 링크