위키득계정 ↗
기술

GDB

이름
GNU Project Debugger
주요 역할
프로그램 실행과 내부 상태 조사
분석 환경
로컬과 원격 및 시뮬레이터
지원 언어 예
C와 C++ 및 Rust 등
GDB는 실행 중인 프로그램이나 충돌 당시의 내부 상태를 조사하는 GNU 프로젝트의 디버거다. 조건에 따라 실행을 멈추고 상태를 살피거나 값을 바꾸며 로컬과 원격 및 시뮬레이터의 프로그램을 분석할 수 있다.

실행을 시작하고 멈추는 제어

프로그램의 동작에 영향을 주는 조건을 지정해 실행하고 원하는 조건에서 멈추게 할 수 있다. 중단한 시점의 내부 상태를 조사해 오류가 어떻게 발생했는지 살핀다. 충돌한 프로그램이 당시 무엇을 하고 있었는지 분석하는 용도로도 사용한다.

상태 변경을 통한 조사

관측만 하는 것이 아니라 프로그램 안의 값을 바꾸는 등의 시험을 할 수 있다. 한 오류의 영향을 조정한 뒤 실행을 이어 가며 다른 동작을 확인하는 방식이다. 실행 제어와 상태 검사를 결합해 문제의 원인을 좁힌다.

대상 환경과 언어

GDB와 같은 장비에서 실행하는 프로그램뿐 아니라 다른 장비의 원격 대상이나 시뮬레이터도 다룬다. 여러 UNIX 계열과 Windows 및 macOS에서 사용할 수 있다. C와 C++ 및 Go와 Rust 등 여러 언어의 디버깅을 지원한다.

관련 문서

Valgrind / strace / 디버깅 / C 언어 / C++ / Rust