gdb-2
gravity-free/gdb 2011. 3. 23. 11:31- gdb 실행
$ gdb 프로그램명
or
$ gdb 프로그램명 실행중인프로세스ID
- gdb 종료
(gdb) q
or
(gdb) [Ctrl]+d
- 소스 출력
main 함수를 기점으로 소스 내용 출력
(gdb) l
or
(gdb) list
이전 행을 출력
(gdb) l-
5행의 소스를 출력
(gdb) l 5
함수의 소스를 출력
(gdb) l 함수명
특정 소스파일의 몇번째 행을 기준으로 출력
(gdb) l 소스파일명:53
특정 소스파일의 특정 함수를 기준으로 출력
(gdb) l 소스파일명:함수명
한 번에 표시되는 라인 수 설정
set listsize 라인수
- 프로그램 실행
(gdb) r
- 브레이크 포인트
특정 함수에 설정
(gdb) b 함수명
특정 행에 설정
(gdb) b 라인수
현재 행에서 몇번째 이후 라인에 설정
(gdb) b +라인수
현재 행에서 몇번째 이전 라인에 설정
(gdb) b -라인수
특정 파일의 특정 함수에 설정
(gdb) b 파일명:함수명
특정 파일의 특정 라인에 설정
(gdb) b 파일명:라인수
특정 주소에 설정
(gdb) b *0x12345678 (주소)
조건으로 브레이크 설정
if
(gdb) b 98 if 변수명 조건
예) (gdb) b 98 if nCnt == 0
condition
(gdb) condition 행번호 변수명 조건
예) (gdb) condition 32 lineCnt == 10
1회만 브레이크
(gdb) cl 함수명
(gdb) cl 행번호
(gdb) cl 파일명:함수명
(gdb) cl 파일명:행번호
모든 브레이크 삭제
(gdb) d
브레이크 포인트 정보 보기
(gdb) info b
or
(gdb) info breakpoints
브레이크 포인트 온/오프
비활성화
(gdb) disable 포인트번호(info b에서의 번호)
활성화
(gdb) enable 포인트번호
- 프로그램 실행
실행
(gdb) r
인자 지정하여 실행
(gdb) r 인자1 인자2....
- 진행 명령어
스택 백트레이스(콜 스택)
(gdb) bt
step (함수 호출 내부까지 들어감)
(gdb) s
step을 반복
(gdb) s 반복횟수
현재 행 수행 후 정지,
(gdb) n
n을 반복
(gdb) n 반복횟수
다음 브레이크 포인트까지 쭉~ 진행
(gdb) c
현재 진행중인 함수가 끝난 시점으로 진행
(gdb) finish
함수 진행중 빠져나오기
(gdb) return 리턴값
현재 루프를 빠져나가기
(gdb) u
인스트럭션 단위로 수행(함수 내부까지)
(gdb) si
인스트럭션 단위로 수행
(gdb) ni
- 변수 값 보기
와치
(gdb) watch 변수명
지역변수들
(gdb) info locals
전역변수들
(gdb) info variables
변수 개별로 보기
(gdb) p 변수명
함수의 주소 값 보기
(gdb) p 함수명
포인트 변수 보기
(gdb) p *변수명 (c에서 포인터의 값 참조와 유사.. 이중 포인터는 p **변수명...)
레지스트 값 보기
(gdb) p $레지스트리명
레지스트 값 전체 보기
(gdb) info all-registers
구조체 배열 보기
(gdb) p *구조체명@배열수
특정 함수의 static 변수 값 보기
(gdb) p 함수명::변수명
전역 변수 값 보기
(gdb) p 파일명::변수명
출력 형식 지정
16진수
(gdb) p /x 변수명
2진수
(gdb) p /t 변수명
8진수
(gdb) p /o 변수명
부호 있는 10진수
(gdb) p /d
부호 없는 10진수
(gdb) p /u
최초 1바이트를 문자열로
(gdb) p /c 변수명
부동 소수점 값
(gdb) p /f 변수명
가장 가까운 심볼의 오프셋
(gdb) p /a 변수명
- 프로그램 종료
(gdb) k
출처 : http://busang.egloos.com/117416
'gravity-free > gdb' 카테고리의 다른 글
gdb-3 (0) | 2012.07.02 |
---|---|
gdb-1 (0) | 2011.03.22 |