GDB 7.6 TUI 不刷新显示,造成问题

GDB 7.6 TUI 不刷新显示,造成问题

我在远程服务器上使用 GDB 7.6。

当我启动时gdb,只要要调试的程序未运行,一切都很好。我可以使用上下箭头浏览 GDB 历史记录等。没有显示错误需要报告。

当我在程序的某个地方创建断点,然后run调试程序时,显示屏上会出现许多伪影(字符显示在错误的位置),直到我运行。refresh从那时起next,、、、上下箭头等都可以工作stepinexti显示器继续在错误的位置绘制字符。如果我不在refresh每个步骤中运行,则显示内容就不是应有的样子。此外,当我按下向上或向下箭头键时,会显示原始字符代码,^[[A^[[B无法知道将执行哪个历史命令。

我尝试定义钩子,例如

define hook-nexti
refresh
end

这实际上会刷新屏幕,但有时仍然会出现不必要的瑕疵(尤其是在突出显示的执行代码行上),并且这不是一个可接受的解决方案,因为我的本地机器上不需要钩子(GDB 7.11,zsh 5.0.2)。

我的机器上恰好也有 GDB 7.7,用它可以重现这个问题。这是 GDB 7.7 和 GDB 7.11 之间修复的一个错误吗?如果是,我将从binutils-gdb源代码进行编译,因为我在远程服务器上没有 root 访问权限。

相关内容