_RPT_RPTF_RPTW_RPTFWマクロ

デバッグ レポートを生成してアプリケーションの進行状況を追跡します (デバッグ バージョンのみ)。 サフィックスは n 、0、1、2、3、4、または 5 の args引数の数を指定します。

構文

_RPTn(
   reportType,
   format,
   ...[args]
);
_RPTFn(
   reportType,
   format,
   [args]
);
_RPTWn(
   reportType,
   format
   [args]
);
_RPTFWn(
   reportType,
   format
   [args]
);

パラメーター

reportType
レポートの種類: _CRT_WARN_CRT_ERROR、または _CRT_ASSERT

format
ユーザー メッセージの作成に使用される書式指定文字列。

args
format で使用される代替引数。

解説

これらのマクロはすべて、パラメーターをreportTypeformat受け取ります。 さらに、マクロ名に追加された番号で表される最大 4 つの引数を受け取る場合もあります。 たとえば、 _RPT0_RPTF0これ以上引数を取り、 _RPT1_RPTF1受け取る、_RPTF2_RPT2受け取arg1arg1arg2、などです。

マクロ _RPT と関数は、デバッグ プロセス中にアプリケーションの進行状況を追跡するために使用できるため、関数に _RPTF 似ています printf 。 ただし、これらのマクロは、アプリケーションのリテール ビルドで呼び出されないように、#ifdef ステートメントで囲む必要がないため、printfより柔軟です。 この柔軟性は、マクロ_RPT_DEBUG使用して実現されます。マクロと_RPTFマクロは、フラグが_DEBUG定義されている場合にのみ使用できます。 _DEBUG が定義されていない場合、これらのマクロの呼び出しは前処理で削除されます。

_RPTW マクロと _RPTFW マクロは、これらのマクロのワイド文字バージョンです。 これらは、wprintf に似ており、引数としてワイド文字列を受け取ります。

マクロは _RPT 、ユーザー メッセージを _CrtDbgReport 含むデバッグ レポートを生成する関数を呼び出します。 _RPTW マクロは、_CrtDbgReportW 関数を呼び出して、ワイド文字で同じレポートを生成します。 _RPTF マクロと _RPTFW マクロは、ユーザー メッセージに加え、レポート マクロが呼び出された場所のソース ファイルと行番号を含むデバッグ レポートを作成します。 ユーザー メッセージは、関数によって定義されたのと同じ規則を arg[n] 使用して、引数を format 文字列に置き換えることによって printf 作成されます。

_CrtDbgReport または _CrtDbgReportW は、reportType に定義されている現在のレポート モードとファイルに基づいて、デバッグ レポートを生成し、その宛先を決定します。 関数 _CrtSetReportMode_CrtSetReportFile 関数は、各レポートの種類の宛先を定義するために使用されます。

マクロが_RPT呼び出され_CrtSetReportMode_CrtSetReportFile、呼び出されていない場合、メッセージは次のように表示されます。

Report type 出力先
_CRT_WARN 警告テキストは表示されません。
_CRT_ERROR ポップアップ ウィンドウ。 _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); が指定されている場合と同じです。
_CRT_ASSERT _CRT_ERROR と同じ。

宛先がデバッグ メッセージ ウィンドウで、ユーザーが [再試行] ボタンを選択するか_CrtDbgReportW_CrtDbgReport 1 を返します。 Just-In-Time (JIT) デバッグが有効になっている場合、この戻り値によってこれらのマクロがデバッガーを起動します。 デバッグ エラー処理メカニズムとしてこれらのマクロを使用する方法の詳細については、レポート用のマクロを参照してください

デバッグ レポートを生成するマクロが他にも 2 つ存在します。 マクロは _ASSERT レポートを生成しますが、式引数 FALSEが . _ASSERTE は、まったく同じです _ASSERTが、生成されたレポートに失敗した式が含まれます。

必要条件

マクロ 必須ヘッダー
_RPT マクロ <crtdbg.h>
_RPTF マクロ <crtdbg.h>
_RPTW マクロ <crtdbg.h>
_RPTFW マクロ <crtdbg.h>

互換性の詳細については、「 Compatibility」を参照してください。

ライブラリ

C ランタイム ライブラリのデバッグ バージョンのみ。

これらのマクロは、 を含 crtdbg.hめて実行するときに使用できますが、これらのマクロは他のランタイム関数を呼び出すので、アプリケーションはデバッグ ライブラリの 1 つとリンクする必要があります。

記事の例を _ASSERT 参照してください。

関連項目

デバッグ ルーチン