Repolode
rr-debugger

rr-debugger/rr

프로그램 실행을 기록하고 결정적으로 재생해 gdb에 역방향 실행 기능을 더하는 경량 Linux 도구입니다.

스타
10,737
포크
666
열린 이슈
477
마지막 커밋
6일 전

어떤 프로젝트인가요?

rr은 여러 프로세스와 스레드로 이루어진 애플리케이션의 실행을 기록하고, gdb에서 해당 기록을 반복해서 재생할 수 있게 합니다. 재생할 때마다 같은 실행이 재현되므로 과거로 거슬러 가며 단계별로 실행하고, 이전 이벤트에 중단점을 설정하고, 과거 실행의 어느 시점에서든 상태를 살펴볼 수 있습니다. 덕분에 재현하기 어려운 비결정적 버그도 실질적으로 추적할 수 있습니다.

gdb를 대체하는 대신 디버깅 경험을 확장합니다. 하드웨어 데이터 감시점 같은 gdb의 표준 기능은 재생 중에도 사용할 수 있으며, 여기에 역방향 실행 명령이 추가됩니다. 프로젝트는 C++로 작성되었으며 Linux를 대상으로 합니다.

rr을 사용하려면 특정 하드웨어 및 커널 지원이 필요합니다. Linux 커널 4.7 이상과 특정 Intel, AMD Zen 또는 AArch64 CPU가 필요하며, 하드웨어 성능 카운터를 가상화하는 VM 게스트에서도 실행할 수 있습니다.

핵심 기능

  • 01나중에 재생할 수 있도록 멀티프로세스·멀티스레드 애플리케이션의 실행을 기록합니다.
  • 02gdb에서 역방향 실행 명령을 지원합니다.
  • 03재생 중에도 gdb의 하드웨어 데이터 감시점을 사용할 수 있습니다.
  • 04기록을 결정적으로 재생하므로 실패한 실행을 반복해서 살펴볼 수 있습니다.
  • 05지원되는 Intel, AMD Zen 및 AArch64 CPU에서 Linux로 실행됩니다.

활용 사례

  • 요청할 때마다 재현되지 않는 간헐적 충돌이나 경쟁 상태를 디버깅합니다.
  • 실패 지점에서 거슬러 올라가 잘못된 값을 만든 명령을 찾습니다.
  • 규모가 큰 멀티프로세스 또는 멀티스레드 Linux 프로그램의 버그를 조사합니다.

빠른 시작

  1. 1

    프로젝트 wiki에서 설치 및 빌드 안내를 확인하세요

  2. 2

    시스템이 요구 사항을 충족하는지 확인하세요(Linux kernel 4.7 이상, 지원되는 Intel, AMD Zen 또는 AArch64 CPU)

사용 전 알아둘 점

  • Linux만 지원하며, 지원되는 CPU 또는 하드웨어 성능 카운터를 노출하는 VM이 필요합니다.
  • 라이선스가 NOASSERTION으로 표시되어 있으므로 사용 전에 저장소의 라이선스 조건을 확인하세요.

토픽

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

자주 묻는 질문

rr은(는) 무엇인가요?
프로그램 실행을 기록하고 결정적으로 재생해 gdb에 역방향 실행 기능을 더하는 경량 Linux 도구입니다. rr은 여러 프로세스와 스레드로 이루어진 애플리케이션의 실행을 기록하고, gdb에서 해당 기록을 반복해서 재생할 수 있게 합니다. 재생할 때마다 같은 실행이 재현되므로 과거로 거슬러 가며 단계별로 실행하고, 이전 이벤트에 중단점을 설정하고, 과거 실행의 어느 시점에서든 상태를 살펴볼 수 있습니다. 덕분에 재현하기 어려운 비결정적 버그도 실질적으로 추적할 수 있습니다.
rr은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
rr은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
rr은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. rr의 마지막 커밋은 2026년 11월 2일입니다.
rr은(는) 어디에 사용할 수 있나요?
요청할 때마다 재현되지 않는 간헐적 충돌이나 경쟁 상태를 디버깅합니다. 실패 지점에서 거슬러 올라가 잘못된 값을 만든 명령을 찾습니다. 규모가 큰 멀티프로세스 또는 멀티스레드 Linux 프로그램의 버그를 조사합니다.
rr는 어떻게 설치하나요?
프로젝트 wiki에서 설치 및 빌드 안내를 확인하세요 시스템이 요구 사항을 충족하는지 확인하세요(Linux kernel 4.7 이상, 지원되는 Intel, AMD Zen 또는 AArch64 CPU)
rr은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/rr-debugger/rr

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

현재 알파 단계인 Windows 및 Linux 로컬 x64 디버깅용 네이티브 사용자 모드 멀티 프로세스 그래픽 디버거입니다.

개발 도구#debugger#native-debugging#linker
8.8천+49 이번 주462CMIT활발히 관리됨업데이트 24시간 전