讓我感到震驚的是,如果一個應用程序可以定期掃描垃圾收集器中第二代或大型對象堆中的對象,並且看看它是否能夠找到真正流行的東西很長時間/永遠。其背後的一般理念是,如果多個集合存在相同的事件(通過弱引用跟蹤它們,以便分析它的行爲不會使其保留),應用程序可以確定潛在的對象是資源泄漏。我可以找到方法來詢問特定對象在哪一代,我可以找到非託管代碼或調試工具的API來調查託管堆,但我真正想要的是一個託管調用,以便爲我提供某種類型的數據結構指定代中的對象。我可以找出一代垃圾收集器中的所有對象嗎?
我是否有希望找到這樣的東西,或者我正在尋找一些不存在的東西?
從理論上講,可能需要調出調試器應用程序的實例並解析結果或其他內容,但我希望它在低負載時運行在實時Web服務器上,但我不確定ops會希望我附加一個調試器,即使這是可能的:)
感謝您的想法。我會盡量抽出一些時間來通過堆放式拖網。它希望與它正在查看的應用程序分開使用,而不是它的一部分(請參閱命令行:mono --profile = heap-shot MyProgram.exe),但可能會使用一些技巧。 windbg的東西和whatnot是我迄今爲止所看到的,絕對是在運行的應用程序之外:( – eviltobz