Не удается выйти из режима tui с помощью Ctrl-X A и не видеть выход программы в режиме tui

Проблема A:

  • Я запускаю gdb в командной строке с помощью "gdb test"
  • Я нажимаю ctrl-x, ctrl-a, прежде чем что-либо делать
  • Затем я устанавливаю точку останова, используя "b main"
  • Затем я запускаю программу, используя "r"

До этого момента, если я нажимаю клавишу со стрелкой вверх, окно 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

Ответ 2

~/.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

поэтому в будущих версиях у нас должны быть команды в качестве альтернативы ярлыкам.

Ответ 3

Измените свой терминал, чтобы избавиться от первой проблемы. Раньше я использовал gnome-терминал, но затем менялся на терминатор. Некоторые терминалы не поддерживают такие ключи, как Alt иногда (используется для получения этого в vim с некоторыми картами Alt + something)

Вы можете изменить forcus в другое окно с помощью "focus winName", в вашем случае используйте "focus src", получил это от здесь

Не уверен в вашей второй проблеме. Удачи!

Ответ 4

Я думаю, что вы ищите, "сосредоточься дальше". он включает вас (может быть больше двух) окон. Я уверен, что для этого тоже есть короткий путь. Обратите внимание, что это почти тот же ответ, что и user1888039, поэтому, если вы согласны, вы должны проголосовать за этот ответ.