This question already has answers here:
How to get a stack trace from FastMM
(4个答案)
2年前关闭。
我已启用内存泄漏报告:
当我关闭程序时,我会收到如下的内存泄漏报告:
但是,如何找到未释放的对象呢?
(4个答案)
2年前关闭。
我已启用内存泄漏报告:
ReportMemoryLeaksOnShutdown := True;
当我关闭程序时,我会收到如下的内存泄漏报告:
但是,如何找到未释放的对象呢?
最佳答案
您可以使用LeakCheck(或FastMM完全调试模式)。 LeakCheck输出分配的堆栈跟踪(如果启用)。它甚至可能输出泄漏的依赖关系图,因此您可以找到根本原因。
检漏方式:
下载LeakCheck(您可以使用Delphinus)
在编译器选项中启用MAP文件生成
将LeakCheck, LeakCheck.Setup.Trace
添加到DPR uses
部分
可选:将LeakCheck.Report.FileLog
也添加到uses
(在扫描内存时要小心使用)-它会生成.dot
文件,您可以通过该文件通过Graphviz生成泄漏图
运行你的应用
分析输出
09-19 04:47