Вопрос по gdb – GDB разделить вид с кодом

85

Я просто отлаживал программу в gdb и каким-то образом нашел новую функцию, которую я никогда раньше не видел или даже не слышал, - разделенное представление, где я могу видеть и просматривать код в дополнение к предоставлению команд:

Sorry about the picture, but ttys don't have screenshots.

Что это? Что я сделал, или, более конкретно, как мне снова получить этот режим разделенного экрана? Есть ли название для этого режима, или где-то я могу прочитать о том, как его использовать?

Для быстрого ознакомления: Вы можете выйти из этого режима, используя любой из C-x C-a, C-x a или C-x A.` См.this question. Richard

Ваш Ответ

9   ответов
72

gdbtui или жеgdb -tui ...

Error: User Rate Limit Exceededlayout nextError: User Rate Limit ExceededgdbError: User Rate Limit Exceeded
10

layout как команда в GDB и будет показано разделенное окно.

12

- & quot; (тире). Не уверен, как динамически отключить его, хотя.

Error: User Rate Limit Exceededstackoverflow.com/questions/14147117/…
Error: User Rate Limit Exceeded
5

win автоматически переключится в режим TUI.
Другая команда для режима TUI:

info win
List a,nd give the size of all displayed windows. focus next | prev | src | asm | regs | split
Set the focus to the named window. This command allows to change the active window so that scrolling keys can be affected to another window.

ЧитатьВот сформировать больше помощи.

31

to only see code Press

НажмитеCTRL X вместе, а затем1

To see both source and assembly

Нажмите «CTRL». & APOS; Х & APOS; вместе, а затем «2»;

http://www.cs.fsu.edu/~baker/ada/gnat/html/gdb_23.html

Снимок экрана с кодом и сборкой. enter image description here

Также проверьте этот удивительный проект Github.

Error: User Rate Limit Exceeded
5

GDB Dashboard

https://github.com/cyrus-and/gdb-dashboard

Панель инструментов GDB использует API GDB Python и печатает информацию, которую вы хотите, когда GDB останавливается, например, послеnext, лайкроднойdisplay command.

Против TUI:

more robust, as it does not put the shell on a more magic curses state, e.g.:

vi mode in .inputrc causes problems: https://superuser.com/questions/180512/how-to-turn-off-gdb-tui/927728#927728 program stdout / stderr breaks your interface: GDB in TUI mode: how to deal with stderr's interaction with the ui

highly configurable from Python: you can select what you want to output and how big each section is depending on what you are debugging.

The most useful views are already implemented: source, assembly, registers, stack, memory, threads, expressions... but it should be easy to extend it with any information that is exposed on the GDB Python API.

TUI only allows showing two of source, assembly and registers and that is it. Unless you want to modify it's C source code of course ;-)

enter image description here

Я считаю, что GDB должен поставляться с такой настройкой из коробки и включаться по умолчанию, это привлечет гораздо больше пользователей таким образом.

Смотрите также:Как выделить и раскрасить вывод gdb во время интерактивной отладки?

0

аже с некоторой цветовой подсветкой. & Quot; ESC & Quot; чтобы перейти к просмотру кода, «я» переключиться обратно на GDB

cgdb

1

когда нажал ^ X-o, который переключается между разделенными окнами в emacs - я иногда бездумно нажимал на это, когда мне нужно переключиться на другую программу. В любом случае, это приводит к другой функции, которая еще не упомянута, - вы можете переместить курсор из окна кода (где вы можете прокрутить) в командную строку или наоборот, с помощью ^ X-o.

71

ctrl+x а такжеctrl+a.

Error: User Rate Limit Exceeded

Похожие вопросы