ATLTRACE2
指定されたフラグとレベルに応じて、デバッガー ウィンドウなどの出力デバイスに警告を送ります。
ATLTRACE2( exp );
ATLTRACE2(
DWORD category,
UINT level,
LPCSTR lpszFormat,
...
);
パラメーター
exp
[入力] Visual C++ に送信する文字列はウィンドウやこれらのメッセージをトラップ アプリケーションを転送します。category
[入力] 報告するイベントまたはメソッドの型。カテゴリの一覧は、"解説"を参照してください。level
[入力] レポートするトレース レベル。詳細については、"解説"を参照してください。lpszFormat
[入力] 文字列をダンプ デバイスに送信する作成に使用する printfの式のファイル形式の文字列。
解説
ATLTRACE2 の省略形はデバッガーの出力ウィンドウに文字列を書き込みます。ATLTRACE2 の 2 番目の形式は、デバッガーの出力ウィンドウに出力を書き込みますが、ATL/MFC Trace Tool の設定によって制限されます (ATLTraceTool サンプル例を参照)。たとえば、を 4 に設定 level、レベル 0 のへの ATL/MFC Trace Tool メッセージがない場合は。レベルは 0、1、2、3、または 4.のいずれかになります。既定値は、0 種類のレポート重大な問題だけです。
category のパラメーター リストに指定するトレース フラグ。これらのフラグは、レポートするメソッドの種類に対応します。次の表の一覧が category のパラメーターで使用できる有効なトレース フラグ。
ATL Trace フラグ
ATL のカテゴリ |
説明 |
---|---|
atlTraceGeneral |
すべての ATL アプリケーションを報告します。既定値です。 |
atlTraceCOM |
COM メソッドのレポート。 |
atlTraceQI |
QueryInterface の呼び出しのレポート。 |
atlTraceRegistrar |
オブジェクトの登録に報告します。 |
atlTraceRefcount |
参照カウントの変更を報告します。 |
atlTraceWindowing |
ウィンドウのメソッドのレポート; たとえば、レポート無効なメッセージ マップ ID |
atlTraceControls |
コントロールのレポート; たとえば、コントロールやウィンドウが破棄されるときに、レポート。 |
atlTraceHosting |
メッセージをホストするレポート; たとえば、コンテナーのクライアントがアクティブになるときに、レポート。 |
atlTraceDBClient |
OLE DB コンシューマー テンプレートのレポート; たとえば、GetData の呼び出しが失敗した場合、出力は HRESULT を含めることができます。 |
atlTraceDBProvider |
OLE DB プロバイダー テンプレートのレポート; たとえば、列の作成に失敗した場合は、レポート。 |
atlTraceSnapin |
MMC スナップイン アプリケーションのレポート。 |
atlTraceNotImpl |
名前付き関数が実行されないことを報告します。 |
atlTraceAllocation |
atldbgmem.h のメモリのデバッグ ツールで出力されるメッセージを報告します。 |
MFC のトレース フラグ
MFC のカテゴリ |
説明 |
---|---|
traceAppMsg |
汎用、MFC メッセージ。常に推奨されます。 |
traceDumpContext |
[CDumpContext]からメッセージ。 |
traceWinMsg |
MFC のメッセージ処理コードからメッセージ。 |
traceMemory |
MFC のメモリ管理コードからメッセージ。 |
traceCmdRouting |
MFC の Windows コマンドのルート コードからメッセージ。 |
traceHtml |
MFC の DHTML ダイアログのサポートのメッセージ。 |
traceSocket |
MFC ソケットのサポートのメッセージ。 |
traceOle |
MFC OLE サポートのメッセージ。 |
traceDatabase |
MFC データベース サポートのメッセージ。 |
traceInternet |
MFC インターネットのサポートのメッセージ。 |
次のようにカスタムのトレース カテゴリを宣言するには、CTraceCategory のクラスのグローバル インスタンスを宣言する:
CTraceCategory MY_CATEGORY(_T("MyCategoryName"), 1);
カテゴリの名前、この例の MY_CATEGORY は、category のパラメーターに指定した名前です。最初のパラメーターは ATL/MFC Trace Tool に表示されるカテゴリの名前です。2 番目のパラメーターは、既定のトレース レベルです。このパラメーターは省略可能であり、既定のトレース レベルは 0 です。
ユーザー定義カテゴリを使用するには:
ATLTRACE2(MY_CATEGORY, 2, _T("a message in a custom category"));
挿入定義のトレース メッセージをフィルター処理することを #include <atlbase.h> のステートメントの前に Stdafx.h にこれらのマクロに指定します。
また、[プロパティ ページ] のダイアログ ボックスのプリプロセッサ ディレクティブのフィルターを設定できます。[プリプロセッサ] のタブをクリックし、[プリプロセッサの定義] のエディット ボックスにグローバルを挿入します。
Atlbase.h は ATLTRACE2 マクロの既定の定義を含み、atlbase.h を処理する前にこのシンボルを定義するこれらの定義が使用されます。
リリースでは (void) 0に、ビルドのコンパイル ATLTRACE2。
ATLTRACE2 は、書式設定後に 1023 文字以下でにダンプ デバイスに送信する文字列の内容を限定されません。
ATLTRACE と同じ動作に ATLTRACE2 に、ATLTRACE が下位互換性のために用意されています。
使用例
int i = 1;
ATLTRACE2(atlTraceGeneral, 4, "Integer = %d\n", i);
// Output: 'Integer = 1'
必要条件
Header: atltrace.h