次の方法で共有


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

参照

関連項目

ATLTRACE (ATL)

その他の技術情報

デバッグとエラー レポートに関するマクロ