我有一个表单在关闭时不会释放资源。我可以使用什么工具检查发生了什么?
最佳答案
VS2012中有一个内置的分析器(可能取决于VS2012的版本)。微软还有一个免费的 CLR Profiler for .NET 4
红门制作出色memory profiler ,我发现它比上述替代品更容易使用,但它不是免费的。您可以使用功能齐全的免费试用版来解决您的问题。
关于您的问题:表单的常见泄漏问题是事件处理程序。确保您的表单中没有任何事件处理程序耦合到未处置的中央类。
框架中还有一些烦人的错误,这些错误将中央窗口事件(例如“ui 主题已更改”)附加到框架类中的静态字段。例如,这可能会导致承载 Windows 窗体工具栏的类永远不会被垃圾回收。事件处理程序泄漏很难发现,非常棘手,以至于它们显然仍然存在于框架代码中。
关于c# - visual studio 2012 C#的内存诊断工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12596502/