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

neu*_*ron 16 gdb tui

问题A:

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

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

我不认为这应该发生.在这种情况下,我甚至无法退出tui模式与cx,ca("^ 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

小智 10

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

  • 不知道为什么会这样,但它解决了我所有的问题. (4认同)

Cir*_*四事件 7

~/.inputrc 是GDB 7.7的罪魁祸首是因为:

set editing-mode vi
set keymap vi
Run Code Online (Sandbox Code Playgroud)

如果我删除那些线它是有效的.

这似乎在以下错误报告中提到:https://sourceware.org/bugzilla/show_bug.cgi?id = 15163

我已经在https://sourceware.org/ml/gdb/2015-06/msg00009.html请求了一个解决方法,Andrew Burgess回复说他刚刚提交了一个收到的补丁补丁:

tui enable
tui disable
Run Code Online (Sandbox Code Playgroud)

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

但后来我看到了灯光,并从TUI转移到GDB仪表板:https://github.com/cyrus-and/gdb-dashboard,它更加强大,减少了错误.另请参阅:如何在交互式调试期间突出显示和着色gdb输出?