试图找到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>
答案 0 :(得分:2)
这取决于。您可以使用私有符号或公共符号构建模块。私有符号包含有关变量,类型,函数的所有信息。公共符号包含变量和函数的RVA。
MS通常只上传带有某些类型定义的公共符号或公共符号。
请参阅: http://msdn.microsoft.com/en-us/library/windows/hardware/ff553493(v=vs.85).aspx