_RPT、_RPTF、_RPTW、_RPTFW のマクロ
デバッグ レポート (デバッグ バージョンだけ) を生成することでアプリケーションの進行状況を追跡します。n が args の引数の数を指定し01234または 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 と同じ。 |
コピー先のデバッグ メッセージ ウィンドウでユーザーが ENT0ENT [入力] ボタンをクリックするとJust-In-Time デバッグが有効な場合 _CrtDbgReport または _CrtDbgReportW は 1 を返しデバッガーを開始するにはこれらのマクロに (JIT) なります。デバッグ エラー処理機構としてこれらのマクロの使用方法の詳細については検証とレポートのマクロを使用します。 を参照してください。
デバッグ レポートを生成する 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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。