次の方法で共有


CMemoryState::DumpStatistics

更新 : 2007 年 11 月

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 のメンバ