如何解决 GDB TUI 大小问题?

How to fix GDB TUI size problems?

当打开和关闭 TUI 模式时(使用 Ctrl+x,a),gdb 经常卡住只使用一半的屏幕(所以 cmd 和 src windows 只占用屏幕的 1/4 each) 和 winheight cmd + 5 将不起作用。

我该如何预防或解决这个问题?

这显然是与 readline 相关的问题。

显然有人已经研究过了:http://patchwork.sourceware.org/patch/6398/ 所以希望它应该在新版本的 gdb 中得到修复。

同时,当问题发生时,可以使用以下方法解决问题:

  1. 切换 TUI 模式,直到遇到问题
  2. 在gdb所在的计算机上打开另一个终端运行,然后使用类似pkill -SIGWINCH gdb
  3. 的命令向gdb进程发送SIGWINCH
  4. 切换 TUI 模式几次,gdb 应该在 "new" 高度上拾取。

我在 Windows 上工作时遇到了类似的问题,通过 Putty 连接到 gdb 所在的服务器 运行。

我发现 gdb 从 Putty 获取有关终端解析的信息(或 putty 将其传递给 gdb?)。不幸的是,当 Putty window 最大化时,信息 send/received 描述了正常(恢复)window 大小。

为了解决这个问题,我刚刚将 putty window 恢复到正常大小,手动调整大小使其看起来最大化并再次最大化。关闭和打开 TUI 后,我可以在整个屏幕上工作。