使用WinDBG从PDB获取函数签名

时间:2014-02-25 12:22:15

标签: .net windbg pdb-files

试图找到EventHandler实例的调用方法,我不得不这样做,然后尝试找出_methodPtr引用的方法。

_methodPtr在我的案例中是32c0e0

我使用dd 32c0e0(包含方法地址)来计算它。

但是,我尝试的第一件事是在32c0e0处查看非托管代码,其中包括:

0:000> !U 32c0e0 
Unmanaged code
0032c0e0 e8d55cf567      call    mscorwks!PrecodeFixupThunk (68281dba)
   ... etc ...

PrecodeFixupThunk不是mscorwks的导出,我无法在google上找到任何关于它的信息。 我想windbg正在使用mscorwks.pdb解析调用...

我的问题是:什么是PrecodeFixupThunk签名?我可以使用x!u找到其asm代码,但更一般地说,是否有办法使用windbg获取函数签名?

[编辑] 仅供参考:

0:000> x /v /t mscorwks!PrecodeFixupThunk
pub global 68281dba    0 <NoType> mscorwks!PrecodeFixupThunk = <no type information>

1 个答案:

答案 0 :(得分:2)

这取决于。您可以使用私有符号或公共符号构建模块。私有符号包含有关变量,类型,函数的所有信息。公共符号包含变量和函数的RVA。

MS通常只上传带有某些类型定义的公共符号或公共符号。

请参阅: http://msdn.microsoft.com/en-us/library/windows/hardware/ff553493(v=vs.85).aspx

相关问题