我试图在我们的某个应用程序中发现内存泄漏,但它很难实现。.NET内存泄漏分析
我用蚂蚁内存分析器分析了程序,发现泄漏位于非托管代码,蚂蚁内存分析器不适合:http://www.red-gate.com/supportcenter/content/ANTS_Memory_Profiler/help/7.4/amp_unmanaged_use我检查了“图形缓冲区”和“对象问题处置在非托管代码“部分,但没有给出任何结果。
然后我使用了Windows调试诊断工具并进行了内存压力分析。大部分内存使用情况都在本地堆中:堆6 0x01ee0000(不是默认进程堆)。虚拟分配汇总内存很低,泄漏分析中未完成的分配汇总内存很少:没有一个模块具有较高的内存使用率。
如何找到现在内存泄漏的位置?
您是否在使用非托管资源?文件,套接字,来自非托管代码的缓冲区等?您也可以给Visual Studio内存分析器一个机会,并将结果与其他人进行比较。 –