次の方法で共有


CDumpContext クラス

更新 : 2007 年 11 月

人が読み取ることができる形式でテキストを出力するために、ストリームに依存した診断出力をサポートします。

class CDumpContext

解説

CDumpContext には、基本クラスはありません。

CDumpContext の組み込みオブジェクトである afxDump オブジェクトを使って、大部分のダンプを行うことができます。afxDump オブジェクトを利用できるのは、Microsoft Foundation Class ライブラリのデバッグ バージョンだけです。

メモリ診断サービスの多くは、出力に afxDump を使用しています。

定義済みの afxDump オブジェクトは、概念的には cerr ストリームと同じです。Windows の環境では、出力は Windows 関数の OutputDebugString を使ってデバッガに送られます。

CDumpContext クラスには、CObject へのポインタに対するオーバーロードされた出力ストリーム演算子 (<<) があります。この演算子を使って、オブジェクトのデータをダンプできます。派生オブジェクトで独自のダンプ フォーマットが必要なときは、CObject::Dump をオーバーライドします。ほとんどの MFC (Microsoft Foundation class) にはオーバーライドできる Dump メンバ関数が実装されています。

CStringCTimeCTimeSpan などの CObject からの派生クラス以外のクラスは、固有の CDumpContext のオーバーロードされた出力ストリーム演算子を持ちます。これらは、CFileStatusCPointCRect のような構造体を使います。

IMPLEMENT_DYNAMIC または IMPLEMENT_SERIAL マクロを組み込んで、クラスを実装したときは、CObject::Dump 関数を使って CObject 派生クラス名を表示できます。それ以外の場合は、CObject が表示されます。

CDumpContext クラスは、ライブラリのデバッグ バージョンでもリリース バージョンでも利用できます。しかし、Dump メンバ関数は、デバッグ バージョンだけで定義されます。#ifdef _DEBUG/#endif ステートメントに囲まれた診断コードで独自の Dump メンバ関数を使います。

独自の CDumpContext オブジェクトを作成する場合は、ダンプの出力先になる CFile オブジェクトをあらかじめ作成する必要があります。

CDumpContext の詳細については、「MFC のデバッグ技術」を参照してください。

#define _DEBUG

必要条件

ヘッダー : afx.h

参照

参照

階層図

CFile クラス

CObject クラス

その他の技術情報

CDumpContext のメンバ