답변:
TUI (농담 아님)라고합니다. 예를 들어 gdbtui
또는 gdb -tui
...로 시작하십시오 .
layout next
시작한 후에도 사용할 수 있습니다gdb
ctrl+ x및 ctrl+ 를 눌러 동적으로 트리거 할 수 있습니다 a.
두 가지 변형이 있습니다.
보도 CTRL
X
함께 다음 1
'CTRL' 'X'를 함께 누른 다음 '2'를 누르십시오.
http://www.cs.fsu.edu/~baker/ada/gnat/html/gdb_23.html
코드 및 어셈블리가있는 뷰의 스크린 샷입니다.
"-"(대시) 명령을 사용하여 gdb 셸에서 시작할 수도 있습니다. 그래도 동적으로 끄는 방법을 모르겠습니다.
GDB 대시 보드
https://github.com/cyrus-and/gdb-dashboard
GDB 대시 보드는 공식 GDB Python API를 사용 하고 기본 명령next
과 같이 GDB가 중지 될 때 원하는 정보를 인쇄합니다 .display
Vs TUI :
셸을 더 마법의 저주 상태에 두는 대신 stdout으로 인쇄하므로 더 강력합니다. 예 :
vi
모드에서 .inputrc
문제 발생 : /superuser/180512/how-to-turn-off-gdb-tui/927728#927728Python에서 고도로 구성 가능 : 디버깅중인 항목에 따라 출력 할 항목과 각 섹션의 크기를 선택할 수 있습니다.
가장 유용한 뷰는 이미 구현되어 있습니다 : 소스, 어셈블리, 레지스터, 스택, 메모리, 스레드, 표현식 ...하지만 GDB Python API에 노출되는 모든 정보로 쉽게 확장 할 수 있어야합니다.
TUI는 소스, 어셈블리 및 레지스터 중 두 개만 표시 할 수 있습니다. 수정하고 싶지 않다면 물론 C 소스 코드입니다 ;-)
나는 GDB가 기본적으로 이와 같은 설정과 함께 제공되어야한다고 믿습니다. 그렇게하면 훨씬 더 많은 사용자를 끌어들일 것입니다.
아, 그리고 메인 개발자 인 Andrea Cardaci 는 매우 반응이 좋고 훌륭했습니다. 큰 명성.
GDB가 표준 모드에있을 때를 사용 win
하면 TUI 모드로 자동 전환됩니다.
TUI 모드에 대한 기타 명령 :
info win
focus next | prev | src | asm | regs | split
읽기 여기에 더 많은 도움을 형성한다.
tui 모드는 분명히 emacs에서 영감을 얻었습니다. 이맥스에서 분할 창 사이를 전환하는 ^ Xo를 눌렀을 때 우연히 발견했습니다. 어쨌든, 아직 언급되지 않은 또 다른 기능으로 이어집니다. 즉, 커서를 코드 창 (스크롤 할 수있는 곳)에서 명령 줄로 이동하거나 ^ Xo를 사용하여 그 반대로 이동할 수 있습니다.