_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
で使用される代替引数。
解説
これらのマクロはすべて、パラメーターをreportType
format
受け取ります。 さらに、マクロ名に追加された番号で表される最大 4 つの引数を受け取る場合もあります。 たとえば、 _RPT0
_RPTF0
これ以上引数を取り、 _RPT1
_RPTF1
受け取る、_RPTF2
_RPT2
受け取arg1
るarg1
arg2
、などです。
マクロ _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
参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示