-
gcc 디버깅 옵션 –g
-
gcc –o -g main main.c
-
-
-
gdb 실행파일
-
gdb main
-
명령어 |
의 미 |
b (breakpoint) |
실행 중 디버그를 위해 멈추는 위치 지정 |
b 함수명 |
함수명에서 멈춤 |
b 라인번호 |
라인번호에서 멈춤 |
r (run) |
실행 시작 |
K(kill) |
프로그램 실행 종료 |
n (next) |
현재 라인 실행 (함수의 경우 실행하고 다음 라인으로 넘어 감) |
s (step) |
현재 라인 실행 (함수의 경우 호출된 함수 내로 들어가 실행 계속) |
c (continue) |
다음 breakpoint까지 실행 |
u(until) |
현재루프 빠져나감 |
finish |
현재 함수를 수행하고 빠져나감 |
return |
현재 함수를 수행하지 않고 빠져나감 |
l (list) |
현재 수행되고 있는 라인부터 10개 라인씩 연속적으로 소스 코드를 프린트 |
p (print) 변수명 |
지정된 변수를 출력한다.(포인터 변수도 가능하다) |
p *p@4(배열크기) |
배열 변수 p를 출력한다. |
p $레지스터명 |
레지스터를 출력한다. |
h (help) |
도움말 |
q (quit) |
gdb 종료 |
Set listsize |
List 명령어 사용시 보여주는 라인수를 설정한다. |
L 함수명, L 라인번호 |
특정 라인이나 함수로 이동한다. |
L 파일명.c:함수명 |
특정 파일의 함수를 보여준다. |
B 라인번호, B 함수명 |
특정 라인이나 함수에 브레이크 포인트를 설정한다. |
B 파일명.c:라인번호 |
특정 파일의 라인에 브레이크 포인트를 설정한다. |
B -2 |
현재 라인으로부터 2줄 이전에 브레이크 포인트를 설정한다. |
B 10 if tmp ==0 |
10행에 브레이크 포인트를 설정하는데 tmp 변수가 0일 때 작동한다. |
CL 라인번호 |
브레이크 포인트를 해제한다. |
D |
모든 브레이크 포인트를 해제한다. |
Info breakpoints |
설정되어 있는 브레이크 포인트를 출력한다. |
Info locals |
현재 상태에서의 지역 변수를 출력한다. |
Info variables |
현재 상태에서의 전역 변수를 출력한다. |
Enable 브레이크 포인트 넘버 |
브레이크 포인트를 활성화 한다. |
Disable 브레이크 포인트 넘버 |
브레이크 포인트를 비활성화 한다. |
Watch 변수명 |
변수가 바뀔 때 마다 브레이크 포인트가 걸리면, 변수의 이전 값과 현재 값을 출력한다. |
Display 변수명 |
한줄씩 실행하면서 매번 변수값이 어떻게 변경되었는지 출력해준다. |
Undiplay 변수명 |
Display 를 해제한다.(활성화, 비활성화 가능하다) |
'소프트웨어 > Linux' 카테고리의 다른 글
[MAC OSX] port 명령어 (0) | 2011.05.21 |
---|---|
USB util 컴파일하기 (0) | 2011.05.21 |
makefile (0) | 2011.05.11 |
분할 컴파일 (0) | 2011.05.11 |
Vi 편집기 (0) | 2011.04.26 |