关于如何发现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状态下启动程序,然后退出程序你应该能看到一个内存泄漏提示对话框。

posted @ 2013-04-29 13:32  小天1981  阅读(240)  评论(0编辑  收藏  举报