有没有办法知道方法是否是静态的,使用WinDBG探索方法表? 我知道MD中有静态字段和方法,但是我无法理解如何识别某些方法是否是静态的。
我知道我可以查看功能参数,看看"这个"被传递给一个函数(导致静态函数不接受它作为参数) - 但是,有没有更简单的方法?
场景:
- 列出线程 - "!threads"。
- 设置当前线程 - " ~3s"。
- 列出线程堆栈 - "!CLRStack"
- 通过MD挑选一个功能并调用"!ip2md 00007ffae9870da4"
醇>
我得到了什么:
0:000> !IP2MD 0290059f
MethodDesc: 02775b14
Method Name: WindBG_POC.Program+TetsStatics.StaticFunction()
Class: 02771874
MethodTable: 02775b28
mdToken: 06000003
Module: 02773fdc
IsJitted: yes
CodeAddr: 02900558
Transparency: Critical
Source file: ....\Program.cs @ 29