gpt4 book ai didi

gdb - lldb 的 'info frame' 是什么?

转载 作者:行者123 更新时间:2023-12-05 04:15:20 24 4
gpt4 key购买 nike

我尝试使用 lldb LLVM 调试器,但我已经习惯了 gdb。所以,我正在寻找 lldbgdb 命令 info frame 的等价物。

我想显示有关当前帧的信息以及保存的寄存器的位置(保存的程序计数器和保存的基指针)。例如,gdbinfo frame命令显示如下信息:

Stack level 0, frame at 0x7fffffffe090:
rip = 0x4004ba in main (example.c:6); saved rip = 0x7ffff7a54b45
source language c.
Arglist at 0x7fffffffe080, args:
Locals at 0x7fffffffe080, Previous frame's sp is 0x7fffffffe090
Saved registers:
rbp at 0x7fffffffe080, rip at 0x7fffffffe088

最佳答案

没有一个命令可以一次性显示所有这些信息。其中一些很容易获得,例如:

(lldb) frame variable -L

将向您显示 args 和 locals 的位置 - 尽管它也会向您显示值。 frame打印一般会显示pc和source info,reg read sp会显示stack pointer。或者您可以将 fpsp 添加到您的常规帧格式中(有关更多详细信息,请参见 page)。

frame info 命令可以显示当前帧的相当简单的 View 。它当然可以扩展以显示更多此类信息(可能在 -v 标志下。)随时向 lldb.llvm.org 的 bugzilla 请求提交错误这个,或者如果你觉得很有动力,就自己动手添加。

编写一个 Python 命令来收集所有这些信息并按照您的意愿呈现它并不难,但还不足以开始对 lldb 进行适当的黑客攻击。

关于gdb - lldb 的 'info frame' 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32510331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com