CMemoryState::DumpStatistics
更新 : 2007 年 11 月
CMemoryState オブジェクトの簡潔なメモリ統計情報を出力します。この情報は、Difference メンバ関数が設定します。
void DumpStatistics( ) const;
解説
afxDump に出力されるレポートには、以下が含まれます。
サンプル レポートは、次の数 (または容量) に関する情報を提供します。
空きブロック
通常のブロック
CRT ブロック
無視ブロック
クライアント ブロック
プログラムが一度に使った最大のメモリ (バイト単位)
プログラムで現在使われている総メモリ (バイト単位)
afxMemDF が delayFreeMemDF に設定されているときは、空きブロックは解放が待たされているブロック数です。詳細については、「MFC マクロとグローバル」の「afxMemDF」を参照してください。これらのブロックの種類の詳細については、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。
使用例
次のコードは、projnameApp.cpp に配置します。次のグローバル変数を定義します。
static CMemoryState oldstate, newstate, diffstate;
InitInstance 関数には、次の行を追加します。
oldstate.Checkpoint();
ExitInstance 関数のハンドラを追加し、次のコードを使用します。
newstate.Checkpoint();
if (diffstate.Difference(oldstate, newstate))
{
TRACE(_T("Memory leaked\n"));
diffstate.DumpStatistics();
}
デバッグ モードでプログラムを実行して、DumpStatistics 関数の出力を確認できます。
必要条件
ヘッダー : afx.h