我想知道是否有一种方法可以通过编程方式或使用第三方工具(分析器?)来概述 AppDomain 中当前有多少类实例处于活动状态(包括或不包括派生类),甚至更好的是,它们在哪里已分配(不确定这是否可能)。
我知道我可以更改我自己的类以以某种方式包含一些运行计数器,但我也希望将它用于我无法控制的(托管)类。
这甚至可能吗?一些提示或关键字会有所帮助:)
我不认为有一种巧妙的方法可以通过反射来做到这一点,就像你可以枚举类或方法一样。CLR Profiler将附加到一个进程,然后报告分配了每个类的多少实例。从理论上讲,您可以针对 CLR Profiler 使用的相同API编写自己的代码,但我怀疑这会花费很多精力,而且不一定有启发性。