我最近才开始使用GDB,但我对它印象深刻.难怪它是许多用户的事实上的调试器.然而,我发现的一个小烦恼是我发现自己无法在TUI装配视图中滚动当前指令之上.只要显示缓冲区位于当前指令下方,我就可以向上和向下滚动.
除了类似的东西x/20i [address](哪种类似于可滚动窗口的目的)或通过跳转改变内存并设置后续断点之外,有没有办法告诉TUI程序集视图查看可能位于其上方的另一个位置(较低内存比)当前的指令?
编辑:这似乎只在附加到已经运行的进程时发生,而不是在使用gdb启动进程时.有时我可以向上滚动直到当前指令,有时我无法向上滚动.
正如您所解释的,gdb tui中的滚动程序集似乎存在某种问题,但是存在一个简单的解决方法。
因此,首先通过按ctrl + x ctrl + a启用tui和反汇编视图。然后通过输入layout asm或类似内容来显示反汇编视图。
现在,窗口应该可以让您用键或鼠标滚动,但是如果它停止了(对我而言,有时发生在某些功能的开始),请输入通常的反汇编命令,反汇编视图将更新到该位置。
例:
调解主
调解0x1234
我发现了一个小技巧。如果您处于layout asmmode 并且无法滚动到当前指令,则可以执行命令layout split,然后layout asm第一行将是当前指令。
| 归档时间: |
|
| 查看次数: |
4952 次 |
| 最近记录: |