从x64进程获取函数表

时间:2012-03-10 21:43:13

标签: c++ windows 64-bit stack-trace

我想走x64进程的堆栈 我读到为了这样做,我需要获取存储在exe或DLL中的展开信息 我已经看到有一个RtlAddFunctionTable但是我可以找到任何方法来获得这个功能表... ... 我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

你见过StackWalk64吗?

答案 1 :(得分:0)

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

一旦你附上,你就可以加载windows符号:

.symfix;.reload;

您也可以将它指向您的应用程序pdbs,只要您的pdbs没有从发布版本中删除私有符号,您就应该能够看到完整的调用堆栈。

答案 2 :(得分:0)

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

相关问题