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

2009/12/01

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 »

コメント

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/36845/46906520

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

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