次のようなHEAP SUMMARYをログメッセージに出力し、ヒープメモリの詳細な使用状況を確認することができます。これらの数値の推移を見ることによりメモリリークの有無を確認できます。

[HEAP] ==== HEAP SUMMARY =================
  Allocated :    138768 (  135 KB)
  Left      :  10346992 (10104 KB)
  Total     :  10485760 (10240 KB)
------------------------------------------
  Allocated at       Count    Total Size
   0xffe7154b           1         64522
   0xffe71558           1         61440
   0xffe51038           1          6776
   0x05000ba9           1            16
   0x05000bb4           1            32
   0xffe7a6eb           4           176
   0xffe7a722           4          1200
   0xffe7a76d           4          3952
------------------------------------------
  Total Count: 17
  No probrem is found. OK!
------------------------------------------

Allocated:
アロケートされているのヒープメモリの総容量
Left:
ヒープメモリの残り容量
Total:
ヒープメモリの総容量
Allocated at
現在メモリをアロケートしているプログラムの番地
Count
その番地からアロケートされているメモリの現在の個数
Total Size
その番地からアロケートされているメモリの現在の合計容量
Total Count
ヒープメモリにアロケートされているメモリの総個数

 次の手順でHEAP SUMMARYをログメッセージに出力することができます。
  1. Log settingsDebug zoneで、ZONE_HEAP_CHK、ZONE_HEAP_LOG、ZONE_HEAP_ALLのいづれかのゾーンを有効にしておく。

  2. 次のいづれかの操作を行う。

注意

 ZONE_HEAP_CHK、ZONE_HEAP_LOG、ZONE_HEAP_ALLのいづれも無効の場合は、Allocated、Left、Totalの内容だけがログメッセージに出力されます。

重要

  • アロケートされているメモリーブロックの総個数が8192個以内であれば、本項で説明した検査機能が動作します。
  • 8192個を超えるメモリーブロックがアロケートされたら、それ以降は再起動するまでAllocated、Left、Totalの内容だけがログメッセージに出力されます。

関連事項

最終更新日:2021/05/31