답변:
info locals
-모든 지역 변수를 봅니다. 리스트-소스보기; rbreak-정규식과 일치하는 함수를 중단합니다.
set print object on
다형성 요소의 set print elements 0
경우 매우 자주 사용하는 두 가지 명령입니다. 매우 유용합니다.
t a a bt
(의미 thread apply all backtrace
) (거의) 다른 모든 명령과 함께 사용할 수 있습니다. 에 특히 유용합니다 bt full
.
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"를 입력하여 잠시 후 텍스트 모드로 전환 할 수도 있습니다.
C-x a
입니다. 또한 함께보기를 전환 할 수 C-x 1
와 C-x 2
투이 모드에서 볼 때 조립뿐만 아니라 (필요가있을 경우).
예를 들어 stl-views.gdb에 정의 된 매크로
스크립팅 gdb는 스케줄러 잠금을 설정 / 해제하여 다른 스레드를 실행할 때 다른 스레드가 실행되는 것을 방지하는 것 외에는 좋은 트릭입니다.
set scheduler-locking on
내부 gdb
-tui 옵션을 사용하여 gdb를 시작하는 대신 프로그램에서 실행중인 코드 행을 강조 표시하는 화면이 포함 된 하위 프로세스를 보려면 Cx o 및 Cx a를 사용하여이 기능을 시작 및 종료하십시오. 이 기능을 사용하고 있으며 일시적으로 사용하지 않는 기능이 있으면 위쪽 화살표를 사용하여 이전 명령을 가져올 수 있습니다.
focus cmd
위 / 아래 화살표가 작동하도록 명령 창으로 포커스를 변경할 수 있습니다 . 을 사용하여 다시 전환 focus src
합니다.
STL을 디버그하려면 .gdbinit에 컨텐츠를 추가하고 다음 지시 사항을 따르십시오.