다음을 통해 공유


보고서 후크 함수

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

Pro, Premium 및 Ultimate

항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

_CrtSetReportHook를 사용하여 설치한 보고서 후크 함수는 _CrtDbgReport가 디버그 보고서를 생성할 때마다 호출됩니다. 보고서 후크 함수를 사용하여 특정한 할당 형식에 맞게 보고서를 필터링할 수 있습니다. 보고서 후크 함수에는 다음과 같이 프로토타입이 있어야 합니다.

int YourReportHook(int nRptType, char *szMsg, int *retVal);

_CrtSetReportHook 에 전달한 포인터는 CRTDBG.H에 정의된 대로 _CRT_REPORT_HOOK 형식입니다.

typedef int (__cdecl *_CRT_REPORT_HOOK)(int, char *, int *);

런타임 라이브러리가 후크 함수를 호출하면, nRptType 인수는 보고서의 범주(_CRT_WARN, _CRT_ERROR 또는 _CRT_ASSERT)를 포함하고, szMsg는 완전히 어셈블된 보고서 메시지 문자열에 대한 포인터를 포함하며, retVal은 보고서 생성 후에 _CrtDbgReport가 계속 정상적으로 실행되어야 할 것인지 또는 디버거를 시작해야 할 것인지 지정합니다. retVal 값이 0이면 계속 실행하고 값이 1이면 디버거를 시작합니다.

요청한 메시지를 후크가 완전히 처리하여 더 이상 보고할 필요가 없으면 TRUE를 반환해야 합니다. FALSE를 반환하면 _CrtDbgReport가 정상적으로 메시지를 보고합니다.

참고 항목

작업

crt_dbg2 샘플: C 런타임 디버깅 후크 함수

기타 리소스

디버그 후크 함수 작성