20.2.4. GDB를 사용하여 프로그램 내부 값 표시
프로그램의 내부 변수의 값을 표시하는 것은 프로그램이 무엇을 하는지 이해하는 데 중요합니다. GDB는 내부 변수를 검사하는 데 사용할 수 있는 여러 명령을 제공합니다. 이 섹션에서는 이러한 명령을 가장 유용하게 설명합니다.
사전 요구 사항
- GDB 디버거에 대한 이해
GDB 명령 프로그램의 내부 상태를 표시
p
(인쇄)지정된 인수의 값을 표시합니다. 일반적으로 인수는 간단한 단일 값에서 구조까지 복잡한 변수의 이름입니다. 인수는 프로그램 변수 및 라이브러리 함수 또는 테스트 중인 프로그램에 정의된 함수 사용을 포함하여 현재 언어로 유효한 표현식일 수도 있습니다.
출력 명령을 사용하여 데이터 구조(예: 클래스, groups)의 사용자 지정 표시를 위해 GDB를 Python 또는 Guile 스크립트로 확장할
수
있습니다.BT(
backtrace)현재 실행 지점에 도달하는 데 사용되는 함수 호출 체인 또는 실행이 전송될 때까지 사용되는 함수의 함수 체인을 표시합니다. 이는 제거 원인과 같은 심각한 버그(예: 분할 오류)를 조사하는 데 유용합니다.
backtrace
명령에전체
옵션을 추가하면 로컬 변수도 표시됩니다.bt
및info 프레임 명령을 사용하여 표시된 데이터의 사용자 지정 디스플레이에 대해 프레임 필터 Python 스크립트를 사용하여 GDB를 확장할 수 있습니다
. 프레임 이라는 용어는 단일 함수 호출과 연관된 데이터를 나타냅니다.info
info
명령은 다양한 항목에 대한 정보를 제공하는 일반적인 명령입니다. 항목을 지정하는 옵션이 필요합니다.-
info args
명령은 현재 선택된 프레임인 함수 호출의 인수를 표시합니다. -
info locals
명령은 현재 선택된 프레임에 로컬 변수를 표시합니다.
가능한 항목 목록은 GDB 세션에서 명령
도움말 정보를
실행하십시오.(gdb) help info
-
l
(list)-
프로그램이 중지된 소스 코드에서 행을 표시합니다. 이 명령은 프로그램 실행이 중지된 경우에만 사용할 수 있습니다. 내부 상태를 표시하는 명령은 엄격하게 아니지만
list
는 사용자가 프로그램 실행의 다음 단계에서 내부 상태에 대한 변경 사항을 이해하는 데 도움이 됩니다.
추가 리소스
- Red Hat Developer 블로그 항목 - GDB Python API
- GDB를 사용한 디버깅 - 10.9 Pretty Printing