关于如何发现Delphi程序的内存泄漏
今天调试一个开源的例子程序,无意中发现一个IDE用来测试内存泄漏的语句。
不过应该是Delphi2006以后的版本才能使用。
实施方法方法非常简单,在Project source中加入如下第一条语句。
ReportMemoryLeaksOnShutdown := DebugHook <> 0;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
为了测试效果,在你的主窗体onCreate事件中写一个引起泄漏的Test Case。
var
sl : TStringList;
begin
sl := TStringList.Create;
sl.Add('Memory leak!') ;
end;
在DEBUG状态下启动程序,然后退出程序你应该能看到一个内存泄漏提示对话框。