_CrtSetReportMode

指定的目的地或特定報表類型所產生的目的地**_CrtDbgReport**和呼叫的任何巨集_CrtDbgReport _CrtDbgReportW,例如_Assert 狀況,_asserte 的判斷提示巨集_Assert 狀況,_asserte 的判斷提示巨集_RPT,_RPTF,_RPTW,_RPTFW 巨集,以及_RPT,_RPTF,_RPTW,_RPTFW 巨集 (偵錯版本)。

int _CrtSetReportMode( 
   int reportType,
   int reportMode 
);

參數

  • reportType
    Report type: _CRT_WARN, _CRT_ERROR, and _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 中定義的報告類型。

報表類型

描述

_CRT_WARN

警告、 訊息和不需要立即處理的資訊。

_CRT_ERROR

錯誤,無法復原的問題,並且需要立刻處理的問題。

_CRT_ASSERT

判斷提示失敗 (判斷提示運算式評估為FALSE)。

_CrtSetReportMode函式會指派新的報表模式控制台中reportMode中所指定的報表類型reportType ,並傳回的預先定義的報表模式reportType。下表列出可用的選項,如reportMode和所產生的行為的**_CrtDbgReport**。這些選項會定義為在 Crtdbg.h 中的位元旗標。

報告模式

_CrtDbgReport 的行為

_CRTDBG_MODE_DEBUG

您可以將訊息寫入 [偵錯工具的 [輸出] 視窗。

_CRTDBG_MODE_FILE

會將訊息寫入使用者提供的檔案控制代碼。_CrtSetReportFile應該呼叫來定義特定檔案或資料流,以當成目的端。

_CRTDBG_MODE_WNDW

建立一個訊息方塊顯示的訊息,以及AbortRetry,以及Ignore按鈕。

_CRTDBG_REPORT_MODE

傳回reportMode為指定reportType:

1   _CRTDBG_MODE_FILE

2   _CRTDBG_MODE_DEBUG

4   _CRTDBG_MODE_WNDW

可以完全使用一個、 兩個或三個模式] 或 [非模式會報告每一種報表類型。因此,它可能會有一個以上的目的地為單一的報表類型定義。例如,下列程式碼片段會導致傳送給這兩種偵錯訊息視窗上,並判斷提示錯誤stderr

_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );

此外,報告的 [模式] 或 [每一種報表類型的模式可以個別控制。比方說,就可以指定讓reportType的**_CRT_WARN會傳送到輸出偵錯的字串,而_CRT_ASSERT會使用偵錯訊息視窗來顯示,而傳送到stderr**、 依照先前說明。

需求

常式

所需的標頭

選擇性標頭

_CrtSetReportMode

<crtdbg.h>

<errno.h>

如需相容性資訊,請參閱相容性在簡介中。

定義函數庫: 的偵錯版本CRT 程式庫功能只。

範例

請參閱 report

.NET Framework 對等用法

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱 平台叫用範例

請參閱

參考

偵錯常式