计算AppDomain中类的实例

时间:2008-10-14 22:02:54

标签: .net appdomain

我想知道是否有一种方法可以以编程方式或使用第三方工具(探查器?)来概述AppDomain中当前有多少个类实例(包括或排除派生类),甚至更好,他们被分配(不确定是否可能)。

我知道我可以改变自己的类,以某种方式包含一些运行计数器,但我也想要这个(我自己无法控制的)托管类。

这甚至可能吗?一些提示或关键字会有所帮助:)

3 个答案:

答案 0 :(得分:4)

我认为您想要使用的是SOS和Windows调试工具包。

Tess Ferandez有一篇很棒的博客,其中有很多关于使用它的信息。

http://blogs.msdn.com/tess/

答案 1 :(得分:1)

我几乎犹豫不决,因为必须有一些更简单的方法,但使用adplus进行挂起转储,然后使用WinDbg与攻击之子来导航转储文件。

您还可以获得profiler,以帮助您对挂起转储进行一些基本分析。

答案 2 :(得分:1)

我不认为有一种巧妙的方法来做反射,就像你可以枚举类或方法一样,比如说。 CLR Profiler将附加到进程,然后报告每个类的实例分配数量。从理论上讲,你可以针对CLR Profiler使用的API编写自己的代码,但我怀疑这将是一项很大的努力而不一定具有启发性。