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

Задача A :

  1. Я запускаю GDB в командной строке с «GDB Test»
  2. Я нажимаю Ctrl-X, Ctrl-A, прежде чем делать что-либо еще
  3. Затем я устанавливаю точку останова, используя "b main"
  4. Затем я запускаю программу, используя «r»

До этого момента, если я нажму клавишу со стрелкой вверх, окно src не будет прокручиваться. Вместо этого что-то появится в моем командном окне - «^ [0A». Если я пытаюсь обновить экран с помощью ctrl-l, в командной строке появляется «^ L».

Я не думаю, что это должно произойти. В этой ситуации я даже не могу выйти из режима туи с помощью c-x, c-a (вместо этого появится «^ X ^ A»). Я делаю что-то неправильно? Я понимаю, что эта проблема возникает, пока я использую команду «run» внутри интерфейса TUI. Однако я могу использовать команду run в TUI, если я запускаю gdb с помощью "gdb -tui"

Задача B

Я не вижу вывод моей программы в режиме TUI. Можно увидеть собственный вывод GDB, но не вывод отлаживаемой программы. Это происходит как при вводе TUI с помощью ctrl-x, ctrl-a, так и при использовании параметра командной строки -tui.

Есть ли способ это исправить?

Я прочитал некоторые статьи TUI в сети, и некоторые люди, кажется, используют TUI "исключительно". Я полагаю, что TUI может работать должным образом, просто есть набор правил, которым нужно тщательно следовать?

РЕДАКТИРОВАТЬ: я использую gnome-терминал в Ubuntu 11.04

Ответы [ 4 ]

10 голосов
/ 23 марта 2013

Вместо этого запустите gdb с опцией -tui (https://bbs.archlinux.org/viewtopic.php?id=112660)

7 голосов

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

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

Но затем я увидел свет и перешел с TUI на GDB Dashboard: https://github.com/cyrus-and/gdb-dashboard, которыйпросто более мощный и менее глючный.См. Также: Как выделить и раскрасить вывод gdb во время интерактивной отладки?

1 голос
/ 15 июля 2013

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

1 голос
/ 31 марта 2013

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

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

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

...