2008-10-14 72 views
1

我想知道是否有以編程方式或使用第三方工具(profiler?)的方式獲得AppDomain中當前有多少類實例活動的概述(包括或不包括派生類),甚至更好,在哪裏分配(不知道這是甚至可能)。計數AppDomain中的類的實例

我知道我可以將自己的類更改爲包含某個運行計數器,但我也希望這用於我不控制的(託管)類。

這可能嗎?一些提示或關鍵字將有所幫助:)

回答

4

我想你想使用的是SOS和Windows調試工具包。

有一個來自Tess Ferandez的博客,有很多關於使用它的信息。

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

1

我幾乎不願意回答,因爲那裏一定是一堆更簡單的方法,但使用adplus採取掛轉儲,然後用WinDbg與罷工的兒子導航轉儲文件。

你也可以得到一個profiler,它可以幫助你對懸掛轉儲進行一些基本的分析。

1

我不認爲有一種簡單的方法可以用類似於枚舉類或方法的方式來進行反射。 CLR Profiler將附加到一個進程,然後報告每個類的多少個實例被分配。從理論上講,您可以根據CLR Profiler使用的相同API編寫自己的代碼,但是我懷疑這需要付出很多努力,而不一定是啓發性的。