我在下面的帖子中注意到你可以从FastMM中获取堆栈跟踪,以显示分配对象的位置:
How to track down tricky memory leak with fastMM?
我找不到有关如何在Delphi 2009中启用此功能的任何信息。
我已将ReportMemoryLeaksOnShutdown
设置为true,因此我获得了基本报告,但如何获取堆栈跟踪报告?
答案 0 :(得分:40)
FastMM的内部Delphi版本不支持堆栈跟踪。
如果要记录内存泄漏堆栈跟踪,则必须:
下载完整版FastMM library
将其包含在项目中的第一单元中:
program YourProject;
uses
FastMM4, // <--
SysUtils,
Forms,
...
启用FullDebugMode
FastMM4Options.inc
选项
在链接项目选项中将地图文件设置为详细(FastMM_FullDebugMode.dll
处理.map
文件)
在二进制(或Windows FastMM_FullDebugMode.dll
)目录中添加System32
答案 1 :(得分:6)
您可能还想查看Jeremy North的FastMM4选项设置程序。它比直接编辑inc FastMM4Options.inc文件容易一些。这是链接:
答案 2 :(得分:5)
此外,Francois Gaillard在CodeRage II上发布了一个名为“为傻瓜打击内存泄漏”的会议,专门讨论FastMM。它于2007年11月29日星期四上午9:45至10点45分在CodeRage II重播中列出。
http://edn.embarcadero.com/article/37498
此致 欧文
答案 3 :(得分:3)