次の方法で共有


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

参照

関連項目

CMemoryState 構造体

階層図