_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 |
建立一個訊息方塊顯示的訊息,以及Abort, Retry,以及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。 如需詳細資訊,請參閱 平台叫用範例。