Delphi xe 集成了FastMM,调试程序是的时候可以方便地检查内存泄露了。 使用方法:在project中,添加一行:
ReportMemoryLeaksOnShutdown := DebugHook<>0;
DebugHook<>0 目的是保证单独运行exe文件不会弹出内存泄漏框,源码可以不用注释掉此行。
当然,实际上除了暴露内存泄露,fastmm 的更多高级功能,我都没有找到怎么使用, 例如: 调试模式下截获每次的内存分配(可以实时统计调试进程的内存分配情况)。 也没找到内存泄露的报告怎么生成。 可能还有其他地方可以设置,目前还不知晓。
简单想弹出一个内存是否有泄露情况,还是比较方便的。
如果要使用 fastmm 的高级功能,还的引用 fastmm, 配置fastmm 的那个 inc 文件才行。
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' { Form1 } ;
{$R *.res}
begin
ReportMemoryLeaksOnShutdown := DebugHook<>0;
Application.Initialize;
Application.MainFormOnTaskbar := true;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.