CMemoryState::DumpStatistics
簡単なメモリの統計情報を報告します [差分] のメンバー関数によって塗りつぶされた CMemoryState のオブジェクトから出力します。
void DumpStatistics( ) const;
解説
afxDump のデバイスで出力されるレポートは、次のことを示します:
サンプル レポートでは、数字 (または) 情報の量を示します:
空きブロック
normal ブロック
CRT ブロック
ignore ブロック
Client ブロック
プログラムで一度に使用したメモリの最大値 (バイト単位)
現在プログラムで使用される総メモリ (バイト単位)
空きブロックは afxMemDFdelayFreeMemDFがに設定されている場合、解放が遅れたブロックの数です。詳細については、「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