共用方式為


_CrtSetReportHook

藉由將它連結至報告程序 (偵錯版本) 的 c 執行階段偵錯安裝用戶端定義報告函式。

_CRT_REPORT_HOOK _CrtSetReportHook( 
   _CRT_REPORT_HOOK reportHook 
);

參數

  • reportHook
    新用戶端定義報告函式来連結到 c 執行階段偵錯報告處理程序。

傳回值

傳回上一個用戶端定義報告函式。

備註

_CrtSetReportHook可讓應用程式使用自己的報告到 c 的函式報告程序的執行階段偵錯程式庫。 如此一來,每當 _CrtDbgReport 呼叫要產生偵錯報告時,應用程式的報告第一次呼叫函式。 此功能可讓應用程式來執行作業,例如篩選偵錯報告,讓它能夠專注於特定的配置類型,或傳送報告給目的地無法使用,藉由使用_CrtDbgReport。 當 _DEBUG 尚未定義,會呼叫_CrtSetReportHook在前置處理過程中移除。

更健全的版本的_CrtSetReportHook,請參閱 _CrtSetReportHook2

_CrtSetReportHook函式安裝新的用戶端定義的報告中所指定的函式reportHook ,並傳回上一個用戶端定義的勾點。 下列範例會示範如何用戶端定義報表的攔截程序原型應:

int YourReportHook( int reportType, char *message, int *returnValue );

其中reportType是偵錯的報表類型 (_CRT_WARN, _CRT_ERROR,或_CRT_ASSERT), message是完整組裝的偵錯使用者訊息必須包含在報告中,以及returnValue用戶端定義所指定的值報告應該由傳回的函式_CrtDbgReport。 可用的報表類型的完整說明,請參閱 _CrtSetReportMode 函式。

如果用戶端定義報告函式完全處理偵錯訊息時,沒有進一步的報告是必要的然後在函式應該會傳回TRUE。 當函式會傳回FALSE, _CrtDbgReport呼叫,是為了產生偵錯報告的報告類型、 模式及檔案使用目前的設定。 此外,藉由指定_CrtDbgReport傳回值,在returnValue,應用程式也可以控制是否偵錯中斷就會發生。 如需如何偵錯報告是設定,以及產生的完整說明,請參閱_CrtSetReportMode, _CrtSetReportFile,以及_CrtDbgReport。

如需有關使用其他可攔截程序的執行階段函式及撰寫您自己用戶端定義攔截函式,請參閱撰寫您自己偵錯攔截函式

注意事項注意事項

如果您的應用程式時加以編譯/clr而報告的函式後,會呼叫應用程式已經結束主要,CLR 將會擲回例外狀況,如果報告函式呼叫任何的 CRT 函式。

需求

常式

所需的標頭

_CrtSetReportHook

<crtdbg.h>

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

文件庫

偵錯版本的 C 執行階段程式庫只。

範例

範例中,如何使用_CrtSetReportHook,請參閱報表

.NET Framework 對等用法

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

請參閱

參考

偵錯常式

_CrtGetReportHook