關(guān)于如何發(fā)現(xiàn)Delphi程序的內(nèi)存泄漏
今天調(diào)試一個(gè)開(kāi)源的例子程序,,無(wú)意中發(fā)現(xiàn)一個(gè)IDE用來(lái)測(cè)試內(nèi)存泄漏的語(yǔ)句。 不過(guò)應(yīng)該是Delphi2006以后的版本才能使用,。
實(shí)施方法方法非常簡(jiǎn)單,,在Project source中加入如下第一條語(yǔ)句。 ReportMemoryLeaksOnShutdown := DebugHook <> 0; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;
為了測(cè)試效果,在你的主窗體onCreate事件中寫(xiě)一個(gè)引起泄漏的Test Case,。
var sl : TStringList; begin sl := TStringList.Create; sl.Add('Memory leak!') ; end;
在DEBUG狀態(tài)下啟動(dòng)程序,,然后退出程序你應(yīng)該能看到一個(gè)內(nèi)存泄漏提示對(duì)話框
|