无法使用 ANTS 内存分析器检测内存泄漏
Cant detect memory leak with ANTS memory profiler
我有一个允许打开一些自定义模型的自定义应用程序。
如果我在应用程序中打开一个模型,然后打开另一个模型 - 第一个模型不会释放内存。
当我尝试使用分析器(ANTS 内存分析器)分析内存泄漏时,应用程序释放了内存,我无法跟踪泄漏。我该如何解决这个问题?
当您拍摄快照时,ANTS 内存分析器会执行完整的垃圾回收。
当你要拍快照时,我通常会拍2-3张快照,直到连续两次快照之间没有内存差异为止。然后与您的基本快照进行比较。
转到实例列表,看看是否有任何实例在增长。 Select Objects with Source 以摆脱系统对象堆。
如果有任何增长的实例,请选择一个并查看对象保留图,该图将准确显示哪个实例持有引用。
此外,请确保您已正确实施 IDisposable 并处理所有一次性对象并取消订阅所有事件订阅。
看看下面的演练
http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/walkthrough http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/
我有一个允许打开一些自定义模型的自定义应用程序。 如果我在应用程序中打开一个模型,然后打开另一个模型 - 第一个模型不会释放内存。
当我尝试使用分析器(ANTS 内存分析器)分析内存泄漏时,应用程序释放了内存,我无法跟踪泄漏。我该如何解决这个问题?
当您拍摄快照时,ANTS 内存分析器会执行完整的垃圾回收。
当你要拍快照时,我通常会拍2-3张快照,直到连续两次快照之间没有内存差异为止。然后与您的基本快照进行比较。
转到实例列表,看看是否有任何实例在增长。 Select Objects with Source 以摆脱系统对象堆。
如果有任何增长的实例,请选择一个并查看对象保留图,该图将准确显示哪个实例持有引用。
此外,请确保您已正确实施 IDisposable 并处理所有一次性对象并取消订阅所有事件订阅。
看看下面的演练
http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/walkthrough http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/