Unix/Linux 2009. 6. 2. 20:17
반응형


 ------------------ 실행 방법 ------------------

 gdb 프로그램명 ex) gdb bugprg
 gdb 프로그래명 코어파일명 ex) gdb bugprg core.14998
 gdb 프로그램명 실행중인 프로세스 PID ex) gdb bugprg 14998

 
 ------------------- 종료 방법 -----------------

 q or Cntr+d

 
 -------------------- 보기 ---------------------

 set listsize 20 -> 한번에 출력되는 행 수 조절
 l(list) -> 소스 내용 출력
 l 10 -> 10행을 기준으로 출력
 l func이름 -> func을 기준으로 출력
 l main -> main함수 기준으로 출력
 l file.c:func -> file.c의 func을 기준으로 출력

 -------------------- 브레이크 포인트 -------------

 r -> 어떤 파일의 어떤 함수 부분에서 어떠한 문제가 발생했다는 것을 표시
 bt -> 스택을 백트레이스 하면서 어떤 함수를 호출하다가 문제가 발생했는지 표시
 
 b func -> funt시작에 브레이크 포인트 설정
 b 10 -> 10행에 브레이크 포인트 설정
 b file.c:func -> file.c의 func에 브레이크 포인트 설정
 b +2 -> 현재 행에서 2개 행 이후에 브레이크 포인트 설정
 b 10 if var =0 -> 10행에서 설정하는데 변수값이 0일때 동작
 condition [N(브레이크번호)] var ==0 ->이미 그 행에 브레이크 포인트가 걸려있을때 condition으로
   조건을 걸어서 설정할 수 있다.

 tb -> b는 gdb내내 브레이크가 존재하고 tb는 한번만 실행한다.
 cl(clear)  func -> 브레이크 포인트 지움
 cl 10 -> 10행에 브레이크 포인트 지움
 cl file.c:10  -> 브레이크 포인트 지움
 cl -> 모든 브레이크 포인트 지움

 info b(info breakpoints -> 모든 브레이크 정보 보기


 -------------------- 프로그램 수행 -------------------

 r : 프로그램 수행
 r arg1  arg2 -> arg1과 arg2를 인자로 프로그램 수행
 k -> 프로그램 수행 종료

 s(step) -> 현재 행 수행하고 멈춘다. 현재행이 함수를 호출하는 부분이라면 함수의 내부로 들어가서 수행
 n(next) -> 현재 행 수행하고 멈춘다. 현재행이 함수를 호출하는 부분이라면 함수의 내부로 들어가지 않음
 c(connection) -> 다음 브레이크 포인트를 만날때까지 수행
 
 u -> for문을 빠져나옴
 finish -> 함수가 끝난 시점으로 간다
 return (리턴값) -> 함수의 나머지 부분을 수행하지 않고 빠져나옴
 si -> 현재 인스트럭션을 수행. 함수 호출시 내부로 들어감
 ni -> 현재 인스트럭션을 수행. 함수 호출시 내부로 들어가지 않음


 ---------------------- 값 확인 -------------------------

 watch 변수명 -> 변수값이 어떻게 변하는지 확인할 수 있음
 info locatls -> for문 위치에서 어떤 지역변수들이 있으며 각각 값은 무엇인지 볼 수 있음
 info variables -> 어떤 전역변수들이 있으며 각각 값은 무엇인지 볼 수 있음
 p 변수 -> 해당 변수 값이 보임
 p 함수 -> 함수의 주소 값이 보임
 p 포인터 변수 -> 포인터 변수가 가리키는 주소
 p *포인터 변수 -> 포인터 변수가 가리치는 주소에 있는 값
 display 변수 -> 변수값을 매번 화면에 디스플레이 한다.
 undisplay 디스플레이 번호 -> 디스플레이 설정을 없앤다.
 diable display 디스플레이 번호 -> 디스플레이를 일시 중단한다.
 enable display 디스플레이 번호 -> 디스플레이를 다시 활성화한다.
 
------------------------ 출력 형식의 지정 ----------------

 t -> 2진수
 o -> 8진수
 d -> 부호있는 10진수
 u -> 부호없는 10진수
 x -> 16진수
 c -> 최초 1바이트 값을 문자형으로 출력
 f -> 소수점을 출력
 a -> 심볼을 오프셋을 출력

반응형

'Unix/Linux' 카테고리의 다른 글

[스크랩] 리눅스 시그널 정리  (0) 2009.09.14
vi 필수 명령어  (0) 2009.06.02
posted by ssuk1010
: