我注意到在下面的帖子中,你可以从FastMM获取堆栈跟踪,显示对象的分配位置:
但是我找不到关于如何在Delphi 2009中启用此功能的信息。
我已将ReportMemoryLeaksOnShutdown
设置为true以获取基本报告,但我该如何获得堆栈跟踪报告?
我注意到在下面的帖子中,你可以从FastMM获取堆栈跟踪,显示对象的分配位置:
但是我找不到关于如何在Delphi 2009中启用此功能的信息。
我已将ReportMemoryLeaksOnShutdown
设置为true以获取基本报告,但我该如何获得堆栈跟踪报告?
Delphi内置的FastMM版本不支持堆栈跟踪。
如果您想记录内存泄漏的堆栈跟踪信息,您需要:
下载完整版本的FastMM库
将其作为您的项目中的第一个单元包含:
program YourProject;
uses
FastMM4, // <--
SysUtils,
Forms,
...
在FastMM4Options.inc
中启用FullDebugMode
选项
在链接项目选项中将映射文件设置为Detailed(FastMM_FullDebugMode.dll
处理.map
文件)
将FastMM_FullDebugMode.dll
添加到您的可执行文件目录(或Windows System32
目录)中
您可能还想查看Jeremy North的FastMM4选项设置程序。它比直接编辑inc FastMM4Options.inc文件要容易一些。以下是链接:
C:\Windows\SysWOW64
。 - TmTron