IT

  • 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
Posted by sinpk