忍者ブログ

[PR]

2025年04月29日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

メモリーリークの検出

2013年10月30日

GetMem(p)などでメモリーを確保したあとは必ず開放しなくてはいけません。
開放を忘れるとメモリーリークが起こります。
Delphiにはそのメモリーリークを検出する方法があります。

その方法は
 ReportMemoryLeaksOnShutdown := True;
という一行を何処かに追加するだけです。

たとえばメインフォームの作成時とか
procedure TForm1.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutdown := True;
end;

これでプログラムを実行した後にメモリーリークが起こっていれば警告ダイアログが出ます。

また、アプリケーションプログラムのソースコード内に追加しても動作します。

begin

  ReportMemoryLeaksOnShutdown := True;

  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'メモリーリークの検出';
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

拍手[3回]

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字