【发布时间】:2014-12-21 18:15:13
【问题描述】:
我最近才开始使用 GDB,但我对它印象非常深刻。难怪它是许多用户事实上的调试器。不过,我发现的一个小烦恼是,我发现自己无法滚动到 TUI 程序集视图中的当前指令上方。只要显示缓冲区位于当前指令下方,我就可以上下滚动。
除了x/20i [address](这会破坏可滚动窗口的目的)或通过跳转改变内存并设置后续断点之外,还有什么方法可以告诉 TUI 程序集视图查看另一个位置可能高于(低于)当前指令?
编辑:这似乎只在附加到已经运行的进程时发生,而不是在使用 gdb 启动进程时发生。有时我可以向上滚动到当前指令,有时我不能全部向上滚动。
【问题讨论】:
-
缺少任何其他答案,您可以考虑使用 gdb 前端之一,这将允许您滚动反汇编(除其他外)。见这里:sourceware.org/gdb/wiki/GDB%20Front%20Ends
-
谢谢!使用
cgdb解决了我的问题! -
我已经为此提出了一个问题,因为它让我发疯:sourceware.org/bugzilla/show_bug.cgi?id=26024
-
备注:上面链接的错误指出该错误发生在程序使用 SIGSEGV 崩溃时,并且该错误已在 gdb 10 中修复,因此可以选择升级。