3
我有一個窗體,在關閉時沒有釋放資源。用什麼工具我可以檢查發生了什麼?visual studio 2012的內存診斷工具C#
我有一個窗體,在關閉時沒有釋放資源。用什麼工具我可以檢查發生了什麼?visual studio 2012的內存診斷工具C#
VS2012中有一個內置的分析器(可能取決於VS2012的哪個版本)。微軟也有免費的CLR Profiler for .NET 4
紅門是一個很好的memory profiler,我發現比以上替代品更容易使用,但它不是免費的。有一個功能齊全的免費試用版,可以用來解決您的問題。
關於您的問題:表單的常見泄漏問題是事件處理程序。確保您沒有任何事件處理程序與耦合到未處置的中央類的窗體中。
在框架中還有一些令人討厭的bug將中心窗口事件(例如「ui theme changed」)附加到框架類中的靜態字段中。這可能會導致託管一個Windows窗體工具欄的類永遠不會被垃圾收集。事件處理程序泄漏很難找到,很棘手,甚至它們仍然存在於框架代碼中。
看看這個問題:http://stackoverflow.com/questions/3927/what-are-some-good-net-profilers –