【发布时间】:2011-04-17 02:49:45
【问题描述】:
有人知道我是否/如何从特定地址的调用堆栈中读取数据吗? 假设我从调用栈的基地址有一个偏移地址,我怎样才能得到基地址?
谢谢:)
【问题讨论】:
有人知道我是否/如何从特定地址的调用堆栈中读取数据吗? 假设我从调用栈的基地址有一个偏移地址,我怎样才能得到基地址?
谢谢:)
【问题讨论】:
堆栈的基地址在 Windows x86 架构上的寄存器 ESP 中。您可以在 VS 调试器的 'Registers' 窗口中查看 ESP
【讨论】:
这在很大程度上取决于运行可执行文件的平台 ABI。我建议使用您所选择的平台所接受的反汇编工具之一,这些工具通常可以帮助获取此类信息。例如,IDA Pro 适用于 Windows 和 Linux。
【讨论】:
在 Windows 中,您有一个 API 来遍历完整的调用堆栈:
请参阅codeproject.com 中的此示例
【讨论】: