출처  : http://muse.incheon.ac.kr/jschae/gcc_gdb.html

g++, gdb 사용법 


□ g++ 사용법

  • 일반적인 컴파일

    > g++ filename

    ⇒ filename이라는 파일을 컴파일하고 오류가 없을 경우 실행 파일 a.out을 생성
     
  • 실행 파일을 지정하는 컴파일

    > g++ -o exefile filename

    ⇒ filename이라는 파일을 컴파일하여 실행파일 exefile 생성
     
  • gdb를 사용하여 디버그할 때의 컴파일

    > g++ -g filename

    ⇒ filename이라는 파일을 컴파일하여 실행 파일 a.out을 생성하고 gdb로 디버그함
     
  • 실행 파일을 지정하여 gdb로 디버그할 때의 컴파일

    > g++ -o exefile -g filename

    ⇒ filename이라는 파일을 컴파일하여 실행 파일 exefile을 생성하고 gdb로 디버그함

□ gdb 사용법

  • gdb 실행

    > gdb exefile

    ⇒ 실행 파일 exefile을 디버그함 (실행 파일은 반드시 -g 옵션을 사용하여 컴파일되어야 함)
     
  • gdb 명령어 

명령어

의  미

b (breakpoint)

실행 중 디버그를 위해 멈추는 위치 지정

b 함수명

함수명에서 멈춤

b 라인번호

라인번호에서 멈춤

r (run)

실행 시작

n (next)

현재 라인 실행 (함수의 경우 실행하고 다음 라인으로 넘어 감)

s (step)

현재 라인 실행 (함수의 경우 호출된 함수 내로 들어가 실행 계속)

c (continue)

다음 breakpoint까지 실행

l (list)

현재 수행되고 있는 라인부터 10개 라인씩 연속적으로 소스 코드를 프린트

p (print) 변수명

변수명으로 저장되어 있는 내용을 프린트

h (help)

도움말

q (quit)

gdb 종료


by 널부러 2009. 12. 31. 00:40