次の方法で共有


CMemoryState::DumpStatistics

CMemoryState オブジェクトの簡潔なメモリ統計情報を出力します。この情報は、Difference メンバー関数が設定します。

void DumpStatistics( ) const;

解説

afxDump に出力されるレポートには、以下が含まれます。

サンプル レポートは、次の数 (または容量) に関する情報を提供します。

  • 空きブロック

  • 通常のブロック

  • CRT ブロック

  • 無視ブロック

  • クライアント ブロック

  • プログラムが一度に使った最大のメモリ (バイト単位)

  • プログラムで現在使われている総メモリ (バイト単位)

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

参照

参照

CMemoryState 構造体

階層図

その他の技術情報

CMemoryState のメンバー