« Lazarus | トップページ | PowerPDFとByteType »

2009年12月 1日 (火)

Lazarus メモリーリーク検出方法

 Delphiでメモリーを検出するには、FastMMやReportMemoryLeaksOnShutdownというものが使えますが、Lazarusではheaptrcユニットを使用するようです。

 わたしが試したところでは、使用方法は2通りあり、1つ目はDelphiでFastMMを使用するときと同様、プロジェクトファイル(.lpr)のuses節の最初にheaptrcを追加する方法です。

 もうひとつは、コンパイラオプションで-ghを指定する方法です。これはプロジェクトメニューからコンパイラオプション→リンクと開き、Heaptrcユニットを使用(-gh)にチェックを付けることと同じです。

Heaptrc2

 わざとリークさせてみたところ、アプリケーション終了時に、以下のダイアログが表示されました。表示されている line33 of Unit1.pas を調べてみると、 SL := TStringList.Create; としている箇所でした。

Heaptrc

 ただ、リークがない場合でもダイアログが表示されるので、リリース時にはheaptrcを外すよう、気を付けておく必要がありそうです。

« Lazarus | トップページ | PowerPDFとByteType »

Lazarus」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Lazarus メモリーリーク検出方法:

« Lazarus | トップページ | PowerPDFとByteType »