컴퓨터 공부/유닉스 시스템 프로그래밍

[4월 22일 3교시] GDB - GNU Debugger

려리군 2009. 4. 22. 20:05

진도표 : 629~662 (UNIX System Programming)


실행

gdb [프로그램명] [인수들...]


※ 중요한 명령어들은 약어(알파벳 한글자)만 사용해도 된다. (632쪽 참고)


프로그램 컴파일

gcc -o [실행파일] -g [소스파일]

-g 옵션이 있어야 gdb프로그램에서 디버깅을 할 수 이싿.


info

breakpoint : breakpoints(멈출 위치)에 대한 정보를 보여준다.

locals : 지역변수를 보여준다.

backtrace(bt)

함수 호출 순서를 보여준다.

break 함수명|줄번호

함수명의 위치나 해당 줄번호에 breakpoint(멈출위치)를 설정한다.


스택관련 명령어

up : 나를 호출한 함수의 스택프레임으로 이동한다. (상위함수로 이동)

down : 하위 함수로 이동

info frame : 현재 프레임 위치에 해당하는 함수 정보를 보여준다.

info locals : 현재 프레임 위치에 해당하는 지역변수 정보를 보여준다.

info args : 현재 프레임 위치에 해당하는 전달인자 정보를 보여준다.


step & next

step : 함수를 만나면 함수 안으로 감... 나머지는 next와 기능이 같다. Visual Studio에서 step into

next : 다음 줄로 감. Visual Studio에서 step over


emacs : 유닉스 에디터. gdb와 연동이 가능함.

emacs -nw 파일이름