我想看到汇编输出,但发现在TUI中,它会输出function signature + offset:
,这很酷,除了我用c++编程和函数签名完全解决的事实,所以我得到名称空间和模板参数,使函数签名2行或更多行长。当然,这在TUI中被截断了,所以它甚至没有显示汇编指令。
是否有任何方法可以缩短,更改前缀(可能是文件/行格式)或根本不将该前缀输出到汇编指令?
虽然目前没有办法截断这个前缀,但一个解决办法是使用focus asm
命令将焦点设置为汇编窗口(如果asm窗口不是焦点之一),然后通过使用right arrow key
,您可以向右滚动窗口,最终将显示汇编输出。
注意:
- 这是一个解决方案,并且仍然存在问题,因为当您步进或滚动
CMD
窗口时,它将恢复到第一列。此外,当您执行next
命令时,似乎当前命令的整个前缀及其汇编代码在ASM窗口中显示(即它未被截断),环绕屏幕,扰乱显示。虽然很烦人,但这可以使用Ctrl-L
来刷新屏幕。-
同样,上下滚动
ASM
窗口实际上会导致调试器崩溃。这可能是由缓冲区溢出引起的,因此不建议这样做,最好只在需要时显示汇编窗口,在不需要时隐藏它。set print max-symbolic-offset N
(您将不得不向下滚动以找到它的描述),它告诉"gdb只显示地址的符号形式,如果最接近的早期符号和地址之间的偏移量小于" N设置N为1将删除大多数前缀,但让您猜测什么指令匹配哪个源行。 我不相信有办法。
我认为这将是bugzilla的一个合理的特性请求,尽管需要注意的是,TUI并没有得到太多的喜爱。