不能使用Ctrl-X A离开tui模式,也不能在tui模式下看到程序输出

时间:2012-01-21 14:27:10

标签: gdb tui

问题A

  1. 我使用“gdb test”
  2. 在命令行中启动gdb
  3. 在我做其他事情之前按ctrl-x,ctrl-a
  4. 然后我使用“b main”
  5. 设置断点
  6. 然后我开始使用“r”
  7. 运行程序

    直到这一点,如果我按向上箭头键,src窗口将不会滚动。相反,我的命令窗口中会出现一些内容 - “^ [0A”。如果我尝试用ctrl-l刷新屏幕,“^ L”就会出现在命令窗口中。

    我不认为这应该发生。在这种情况下,我甚至不能用c-x退出tui模式,c-a(将出现“^ X ^ A”)。难道我做错了什么?只要我在TUI界面中使用“run”命令,我就会发现这个问题。但是,如果我使用“gdb -tui”

    启动gdb,我可以在TUI中使用run命令

    问题B

    我无法在TUI模式下看到程序的输出。可以看到GDB自己的输出,但不是被调试程序的输出。当我使用ctrl-x,ctrl-a和使用-tui命令行选项进入TUI时都会发生这种情况。

    有什么方法可以解决这个问题吗?

    我在网上看过一些TUI文章,有些人似乎“专门”使用TUI。我想TUI可以正常工作,只是有一套必须仔细遵循的规则?

    编辑:我在ubuntu 11.04中使用gnome-terminal

4 个答案:

答案 0 :(得分:10)

使用-tui选项运行gdb(https://bbs.archlinux.org/viewtopic.php?id=112660

答案 1 :(得分: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请求解决方法,Andrew Burgess回复说他已经收到了just submitted收到的补丁:

tui enable
tui disable

所以在将来的版本中我们应该有命令作为快捷方式的替代。

然后我看到了灯光并从TUI移动到GDB仪表板:https://github.com/cyrus-and/gdb-dashboard这更加强大,而且越来越少。另见:How to highlight and color gdb output during interactive debugging?

答案 2 :(得分:1)

更改您的终端以摆脱您的第一个问题。我过去习惯使用gnome-terminal,但后来改为终结者。有些终端有时不支持像Alt这样的键(用于在vim中使用某些Alt +某些地图来体验)

您可以通过'focus winName'将forcus更改为另一个窗口,在您的情况下,使用'focus src' 从here

得到了这个

不确定你的第二个问题。祝你好运!

答案 3 :(得分:1)

我认为你在寻找,“下一步关注。”它可以切换你的窗户(可能有两个以上)。我相信这也有一个捷径。请注意,这与user1888039几乎相同,所以如果您同意,您应该对该答案进行投票。