Ответ 1
Запустите gdb с опцией -tui (https://bbs.archlinux.org/viewtopic.php?id=112660)
Проблема A:
До этого момента, если я нажимаю клавишу со стрелкой вверх, окно src не будет прокручиваться. Вместо этого в моем командном окне что-то появится - "^ [0A". Если я попытаюсь обновить экран ctrl-l, то "^ L" - это то, что появляется в окне команд.
Я не думаю, что это должно произойти. В этой ситуации я даже не могу выйти из режима tui с помощью c-x, c-a (вместо этого появится "^ X ^ A" ). Я делаю что-то неправильно? Я понимаю, что эта проблема возникает, если я использую команду "запустить" внутри интерфейса TUI. Я могу, однако, использовать команду run в TUI, если я запускаю gdb с помощью "gdb -tui"
Проблема B
Я не вижу выход своей программы в режиме TUI. Собственный выход GDB можно увидеть, но не тот, который отлаживается программой. Это происходит как при вводе TUI с использованием ctrl-x, ctrl-a, так и при использовании опции командной строки -tui.
Есть ли способ исправить это?
Я прочитал несколько статей TUI в сети, и некоторые люди, похоже, используют TUI "исключительно". Я полагаю, что TUI может работать должным образом, это просто набор правил, которые необходимо тщательно соблюдать?
EDIT: я использую gnome-terminal в ubuntu 11.04
Запустите gdb с опцией -tui (https://bbs.archlinux.org/viewtopic.php?id=112660)
~/.inputrc
был виновником в GDB 7.7 из-за:
set editing-mode vi
set keymap vi
Если я удалю эти строки, он будет работать.
Это, как представляется, упоминается в следующем отчете об ошибке: https://sourceware.org/bugzilla/show_bug.cgi?id=15163
Я попросил обходное решение в https://sourceware.org/ml/gdb/2015-06/msg00009.html, и Эндрю Берджесс ответил, что у него только что отправил хорошо полученный патч, чтобы добавить:
tui enable
tui disable
поэтому в будущих версиях у нас должны быть команды в качестве альтернативы ярлыкам.
Измените свой терминал, чтобы избавиться от первой проблемы. Раньше я использовал gnome-терминал, но затем менялся на терминатор. Некоторые терминалы не поддерживают такие ключи, как Alt иногда (используется для получения этого в vim с некоторыми картами Alt + something)
Вы можете изменить forcus в другое окно с помощью "focus winName", в вашем случае используйте "focus src", получил это от здесь
Не уверен в вашей второй проблеме. Удачи!
Я думаю, что вы ищите, "сосредоточься дальше". он включает вас (может быть больше двух) окон. Я уверен, что для этого тоже есть короткий путь. Обратите внимание, что это почти тот же ответ, что и user1888039, поэтому, если вы согласны, вы должны проголосовать за этот ответ.