글
출처 : 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 종료 |
RECENT COMMENT