2 실행
3 종료
4 변수값 확인
5 Break/Watchpoints
5.1 breakpoint 설정
5.1.1 간단 설정
5.1.2 조건부 설정
5.2 breakpoint 목록 보기
5.3 watchpoint 설정
5.4 한줄씩 실행
5.5 계속 실행
6 Stack trace
6.1 stack 출력
6.2 frame 이동
6.3 지역변수 확인
7 Attach Process
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>