如何在调试期间查找实现给定接口的所有类型实例

Bri*_*sen 12 .net debugging windbg

我正在寻找一种方法来定位实现给定接口的类型堆上的所有当前实例(在WinDbg调试期间).由于接口不是您可以创建接口实例的类型,因此在检查堆时显然不会显示它们.即!dumpheap在这里没什么帮助.

但是,!dumpmt -md在给定的MT上列出了IFacesin 的数量IFaceMap.据我所知,这个数字似乎表明该类型是否实现了一个或多个接口.当-md列出使用类型的标志方法时.

不幸的!dumpmd是,就我所知,它并没有将给定的方法绑定到接口,所以这不能用于建立已实现的接口.

我假设这些信息可以在内存中找到,但我不知道在哪里看.任何输入都非常感谢.

Dip*_*dya -1

如果您不必创建自己的程序,请尝试NDepend

  • 我看不出 NDepend 在这里有什么用处。我有所有可用的源代码,因此如果需要我可以找到实现者。我有兴趣在运行时查找内存中的实例。 (2认同)