从x64进程获取功能表

问题描述 投票:1回答:3

我想遍历x64进程的堆栈。我读到为了做到这一点,我需要获取存储在exe或DLL中的展开信息。我已经看到有一个RtlAddFunctionTable,但我可以找到任何方法来首先获得该函数表...我该怎么办?

c++ windows 64-bit stack-trace
3个回答
0
投票

您看过StackWalk64吗?


0
投票

您还可以使用DDK / SDK http://msdn.microsoft.com/en-us/windows/hardware/gg463009附带的64位WinDbg版本。

一旦附加,就可以加载Windows符号:

.symfix;.reload;

您还可以将其指向应用程序pdb,只要您的pdb没有从发行版中删除专用符号,您就应该能够看到完整的调用堆栈。


0
投票

您可以使用RtlLookupFunctionEntry(https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-rtllookupfunctionentry)获取与特定代码地址关联的功能表条目(结构RUNTIME_FUNCTION)。

© www.soinside.com 2019 - 2024. All rights reserved.