_RPT、_RPTF、_RPTW、_RPTFW のマクロ
デバッグ レポートします (デバッグ バージョンだけ) を生成することで、アプリケーションの進行状況を追跡します。 n が args に引数の数と、0、1、2、3、4、または 5.のどちらかである必要があることに注意してください。
_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に使用する代替引数。
解説
これらのマクロは、すべて reportTypeと formatパラメーターを受け取ります。 また、マクロ名に付けられた番号指定された 4 番目の引数に使用している可能性があります。 たとえば、_RPT0 と _RPTF0 は追加、_RPT1 引数を受け取らず、_RPTF1 は arg1、_RPT2 を受け取り、_RPTF2 は arg1 と arg2などがあります。
_RPT と _RPTF マクロは、デバッグ中にアプリケーションの進行状況を追跡するために使用できるため、printf 関数に似ています。 ただし、これらのマクロが表示されるのを回避するに #ifdef のステートメントで囲む必要はありません。printf より柔軟にアプリケーションのリテール ビルドで呼び出すことができます。 この柔軟性は _DEBUG マクロを使用して実現する; _RPT と _RPTF マクロは _DEBUG フラグが定義されている場合にのみ使用できます。 _DEBUG が定義されていない場合、これらのマクロの呼び出しはプリプロセスで削除されます。
_RPTW と _RPTFW マクロは、マクロのワイド文字バージョンです。 これらは wprintf など、引数としてワイド文字列を使用します。
_RPT マクロはユーザー定義メッセージとのデバッグ レポートを生成するに _CrtDbgReport 関数を呼び出します。 _RPTW マクロはワイド文字とレポートを生成するに _CrtDbgReportW 関数を呼び出します。 _RPTF と _RPTFW マクロはレポート マクロは、ソース ファイルと行番号によってユーザー定義メッセージに加えてデバッグ レポートを作成します。 ユーザー定義メッセージは arg[]n引数の置換によって printf 関数によって定義されている規則を使用して format の文字列に作成されます。
_CrtDbgReport または _CrtDbgReportW はデバッグ レポートを生成し、reportTypeに対して定義されている現在のレポート モードとファイルに基づいてターゲットが決まります。 _CrtSetReportMode と _CrtSetReportFile 関数が各レポートの種類の移動先を定義するために使用されます。
_RPT マクロが呼び出され、_CrtSetReportMode が _CrtSetReportFile が呼び出されて、メッセージは次のように表示されます。
レポートの種類 |
出力先 |
---|---|
_CRT_WARN |
警告テキストは表示されません。 |
_CRT_ERROR |
ポップアップ ウィンドウ。 _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); を指定した場合と同じです。 |
_CRT_ASSERT |
_CRT_ERROR と同じ。 |
配置先がデバッグ メッセージ ウィンドウに、ユーザーが [再試行] ボタンをクリックすると、Just-In-Time (JIT) のデバッグが有効になって _CrtDbgReport または _CrtDbgReportW は 1 を返し、デバッガーの起動時にこれらのマクロに指定します。 デバッグのエラー処理機能としてこれらのマクロの使用に関する詳細については、「検証とレポートの Using Macros」を参照してください。
デバッグ レポートを生成する 2 つが他のマクロが含まれています。 _ASSERT マクロ マクロは式の引数が false と評価された場合にのみレポートが生成されます。 _ASSERTE は _ASSERTとまったく同じですが、生成されたレポートに失敗した式が含まれます。
必要条件
マクロ |
必須ヘッダー |
---|---|
_RPT マクロ |
<crtdbg.h> |
_RPTF マクロ |
<crtdbg.h> |
_RPTW マクロ |
<crtdbg.h> |
_RPTFW マクロ |
<crtdbg.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのデバッグ バージョンのみ。
これらのマクロで、Crtdbg.h を含めることによって取得したが、アプリケーションがデバッグ ライブラリの 1 にこれらのマクロが他のランタイム関数を呼び出すためにリンクする必要があります。
使用例
_ASSERT マクロ "の例を参照してください。
同等の .NET Framework 関数
使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。