다음을 통해 공유


_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가 호출되어 보고서 형식, 모드 및 파일에 대한 현재 설정을 사용하여 디버그 보고서를 생성합니다. 또한 returnValue_CrtDbgReport 반환 값을 지정하여 애플리케이션이 디버그 중단 발생 여부도 제어할 수 있습니다. 디버그 보고서가 구성되고 생성되는 방법에 대한 전체 설명은 , _CrtSetReportFile_CrtDbgReport를 참조하세요_CrtSetReportMode.

다른 후크 지원 런타임 함수를 사용하고 고유한 클라이언트 정의 후크 함수를 작성하는 방법에 대한 자세한 내용은 디버그 후크 함수 쓰기를 참조하세요.

참고 항목

애플리케이션이 /clr컴파일되고 애플리케이션이 main을 종료한 후 보고 함수가 호출되면 보고 함수가 CRT 함수를 호출하는 경우 CLR이 예외를 throw합니다.

요구 사항

루틴에서 반환된 값 필수 헤더
_CrtSetReportHook <crtdbg.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

라이브러리

C 런타임 라이브러리의 디버그 버전만 해당됩니다.

참고 항목

디버그 루틴
_CrtGetReportHook