[c] gdb 디버거에 대한 가장 까다 롭고 유용한 명령

gdb 또는 dbx와 같은 디버거를 실행하는 동안 가장 까다 롭고 유용한 명령을 게시 할 수 있습니다.



답변

  1. 역 추적 전체 : 지역 변수로 완전한 역 추적
  2. , 아래 , 프레임 : 프레임을 통해 이동
  3. watch : 특정 조건이 충족되면 프로세스를 일시 중단합니다
  4. 예쁜 인쇄 설정 : 예쁘게 포맷 된 C 소스 코드를 인쇄합니다
  5. 로깅 설정 : 지원을 위해 다른 사람에게 보여주기 위해 디버깅 세션 로그
  6. 인쇄 배열 설정 : 예쁜 배열 인쇄
  7. 마무리 : 기능이 끝날 때까지 계속
  8. 활성화비활성화 : 중단 점 활성화 / 비활성화
  9. tbreak : 한 번 중단 한 후 중단 점 제거
  10. where : 현재 실행중인 줄 번호
  11. 정보 지역 : 모든 지역 변수보기
  12. info args : 모든 함수 인수보기
  13. 목록 : 소스보기
  14. rbreak : 정규 표현식과 일치하는 함수에서 중단

답변

텍스트 사용자 인터페이스로 gdb 시작

gdb -tui


답변

gdb 7.0부터는 뒤집을 수있는 디버깅 기능 이 있으므로 자주 사용하는 새로운 명령은 다음과 같습니다.

* reverse-continue ('rc') -- Continue program being debugged but run it in reverse
* reverse-finish -- Execute backward until just before the selected stack frame is called
* reverse-next ('rn') -- Step program backward, proceeding through subroutine calls.
* reverse-nexti ('rni') -- Step backward one instruction, but proceed through called subroutines.
* reverse-step ('rs') -- Step program backward until it reaches the beginning of a previous source line
* reverse-stepi -- Step backward exactly one instruction
* set exec-direction (forward/reverse) -- Set direction of execution.


답변

“-tui”매개 변수로 GDB를 시작하는 대신 “wh”를 입력하여 잠시 후 텍스트 모드로 전환 할 수도 있습니다.


답변

thread apply all bt또는 thread apply all print $pc: 모든 스레드가 수행하는 작업을 신속하게 파악합니다.


답변

예를 들어 stl-views.gdb에 정의 된 매크로


답변

-command=<file with gdb commands>gdb를 시작하는 동안 옵션 사용 와 동일합니다 -x <command file>. 이 명령 파일은 중단 점, 옵션 등과 같은 gdb 명령을 포함 할 수 있습니다. 특정 실행 파일이 gdb를 사용하여 연속적인 디버그 실행을 거쳐야하는 경우에 유용합니다.