9

我正在尝试使用 gdb 来调试caffe。我更喜欢使用 tui 模式,因为它可以让我看到整个源代码,而不仅仅是一行。但是有一个问题:每当程序caffe在 上输出一些东西时stderr,输出就会扭曲 tui 界面。请参阅下面的快照以获取说明:

普通的

当 stderr 上有输出时

这是 gdb tui 的固有限制还是有什么办法可以解决这个问题?

4

2 回答 2

4

正如@ks1322 所建议的,您可以按 Ctrl-L 刷新屏幕。或者在 .gdbinit 中定义一个钩子next以在每个命令后刷新:

define hook-next
    refresh
end
于 2018-12-11T07:16:45.520 回答
0

我从未找到解决此类 TUI 烦恼的方法,最终放弃并转向更可靠的方法:

  • 使用 GDB Python API 获取 GDB 数据
  • 每次停止后将一些预先配置的视图输出到标准输出,而不是将终端置于神奇的 ncurses 模式

GDB Dashboard 就是这样一种解决方案,我在以下位置进行了描述:gdb split view with code

于 2018-12-08T21:18:10.767 回答