Create TOC

2000년 5월 26일

gdb

1 조건

gdb로 디버깅하기 위해서는 gcc에 -g 옵션을 주고 컴파일해야 한다.

2 실행

gdb <실행파일명>

3 종료

quit

4 변수값 확인

print 변수명

5 Break/Watchpoints

5.1 breakpoint 설정

5.1.1 간단 설정

break <줄번호|함수명>

5.1.2 조건부 설정

break <줄번호> if <조건>

이미 설정된 breakpoint에 조건을 설정하려면 아래와 같이 하면 된다.

condition <break 번호> <조건>

5.2 breakpoint 목록 보기

info break

5.3 watchpoint 설정

watch <변수명|조건>

5.4 한줄씩 실행

한줄씩 실행. 함수 호출시 함수 내부로 들어가지 않는다.

next or n

한줄씩 실행. 함수 호출시 함수 내부로 들어간다.

step or s

5.5 계속 실행

continue

6 Stack trace

6.1 stack 출력

bt

출력 형식은 아래와 같다.

#frame번호 주소 in 함수명(인자) at 파일명:줄번호

예)

(gdb) bt
#0  0x80483ea in sum (a=8, b=8) at main.c:7
#1  0x8048435 in main (argc=1, argv=0xbffff9c4) at main.c:21

6.2 frame 이동

frame <frame번호>
up or down

6.3 지역변수 확인

info locals

예) backtrace 에서 특정 stack의 지역변수를 확인할때?

(gdb) frame 1
(gdb) info locals

7 Attach Process

gdb <실행파일명> <pid>