_CrtSetReportMode
_ASSERT マクロ、_ASSERTE マクロ_ASSERT マクロ、_ASSERTE マクロ_RPT、_RPTF、_RPTW、_RPTFW のマクロ と _RPT、_RPTF、_RPTW、_RPTFW のマクロ (デバッグ バージョンだけ) などの _CrtDbgReport、_CrtDbgReportW を呼び出す _CrtDbgReportおよびマクロによって生成される特定のレポートの種類ごとにターゲットを指定します。
int _CrtSetReportMode(
int reportType,
int reportMode
);
パラメーター
reportType
: レポートの種類 _CRT_WARN_CRT_ERROR と _CRT_ASSERT。reportMode
reportType の新しいレポート モードまたはモード。
戻り値
正常に終了した場合**_CrtSetReportMode** は reportType で指定されたレポートの種類の前のレポート モードまたはモードを返します。reportType または無効なモードが reportMode に指定されると無効な値が渡されると**_CrtSetReportMode** は パラメーターの検証 に説明されているように無効なパラメーター ハンドラーを呼び出します。実行の継続が許可された場合、この関数は errno を EINVAL に設定し、-1 を返します。詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。
解説
_CrtSetReportMode は _CrtDbgReport の出力先を指定します。マクロ _ASSERT_ASSERTE_RPT と _RPTF の呼び出し _CrtDbgReport_CrtSetReportMode ではこれらのマクロに指定されたテキストの出力先を指定します。
_DEBUG が未定義の場合、_CrtSetReportMode の呼び出しはプリプロセスで削除されます。
メッセージの出力先を定義するに _CrtSetReportMode を呼び出し次の既定値は無効です :
アサーション エラーおよびエラーはデバッグ メッセージ ウィンドウに送信されます。
Windows アプリケーションからの警告はデバッガーの出力ウィンドウに送信されます。
コンソール アプリケーションによる警告が表示されます。
次の表はCrtdbg.h で定義されているレポートの種類を示します。
レポートの種類 |
Description |
---|---|
_CRT_WARN |
警告直接の注意を必要としないメッセージと情報。 |
_CRT_ERROR |
回復不能なエラー直接の注意が必要な問題となります。 |
_CRT_ASSERT |
アサーション (FALSE に評価される) アサート対象の式。 |
_CrtSetReportMode の関数は reportType で指定されたレポートの種類と reportMode で指定した新しいレポート モードを割り当てreportType の前に定義されたレポート モードを返します。次の表は reportMode の使用可能なオプションや _CrtDbgReport 結果の動作を示します。これらのオプションはCrtdbg.h でがビット フラグとして定義されます。
レポート モード |
_CrtDbgReport の動作 |
---|---|
_CRTDBG_MODE_DEBUG |
デバッガーの出力ウィンドウにメッセージを書き込みます。 |
_CRTDBG_MODE_FILE |
ユーザー指定ファイル ハンドルにメッセージを書き込みます。_CrtSetReportFile は特定のファイルを定義する場合またはコピー先として使用するように向かうように呼び出す必要があります。 |
_CRTDBG_MODE_WNDW |
メッセージ ボックスを AbortRetry と Ignore のボタンとともにメッセージを表示するを作成します。 |
_CRTDBG_REPORT_MODE |
指定 reportType のを返します reportMode : 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
各レポートの種類は 1 ビット2 ビットまたは 3 ビット モードまたはモードを使用してレポートすることはできません。したがって単一のレポートの種類に対して定義されている複数のターゲットを持つ場合があります。たとえば次のコードによってデバッグ メッセージをウィンドウに送信 stderr アサーション エラーが発生します :
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
また各レポートの種類のレポート モードまたはモードは個別に制御できます。たとえば _CRT_ASSERT はデバッグ メッセージ ウィンドウを使用して表示 stderr前に説明した送信が**_CRT_WARN** の reportType が出力デバッグの文字列に送信されるように指定することはできます。
必要条件
ルーチン |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ:CRT ライブラリの機能 のデバッグ バージョンのみ。
使用例
「report」を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。