_CrtSetDumpClient

_CLIENT_BLOCK 형식 메모리 블록을 덤프하는 애플리케이션 정의 함수를 설치합니다(디버그 버전에만 해당).

구문

_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );

매개 변수

dumpClient
후크할 새 클라이언트 정의 메모리 덤프 함수입니다.

반환 값

이전에 정의된 클라이언트 블록 덤프 함수를 반환합니다.

설명

_CrtSetDumpClient 함수를 사용하면 애플리케이션이 자체 함수를 후크하여 메모리 블록에 저장된 개체를 _CLIENT_BLOCK 덤프할 수 있습니다. 따라서 메모리 블록과 같은 _CrtMemDumpAllObjectsSince 디버그 덤프 함수가 _CLIENT_BLOCK 호출될 _CrtDumpMemoryLeaks 때마다 애플리케이션의 덤프 함수도 호출됩니다. _CrtSetDumpClient는 메모리 누수를 감지하고 _CLIENT_BLOCK 블록에 저장된 데이터의 내용을 유효성 검사하거나 보고하기 위한 쉬운 방법을 애플리케이션에 제공합니다. 정의되지 않은 경우 _DEBUG 전처리 중에 호출 _CrtSetDumpClient 이 제거됩니다.

_CrtSetDumpClient 함수는 dumpClient에 지정된 새로운 애플리케이션 정의 덤프 함수를 설치하고 이전에 정의된 덤프 함수를 반환합니다. 클라이언트 블록 덤프 함수의 예제는 다음과 같습니다.

void DumpClientFunction( void *userPortion, size_t blockSize );

userPortion 인수는 메모리 블록에 있는 사용자 데이터 부분의 시작에 대한 포인터이며 blockSize는 할당된 메모리 블록의 크기를 바이트 단위로 지정합니다. 클라이언트 블록 덤프 함수는 void를 반환해야 합니다. _CrtSetDumpClient에 전달되는 클라이언트 덤프 함수에 대한 포인터는 Crtdbg.h에 정의된 대로 _CRT_DUMP_CLIENT 형식입니다.

typedef void (__cdecl *_CRT_DUMP_CLIENT)( void *, size_t );

형식 메모리 블록에서 작동하는 함수에 _CLIENT_BLOCK 대한 자세한 내용은 클라이언트 블록 후크 함수를 참조 하세요. 이 함수를 _CrtReportBlockType 사용하여 블록 형식 및 하위 형식에 대한 정보를 반환할 수 있습니다.

요구 사항

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

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

라이브러리

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

참고 항목

디버그 루틴
_CrtReportBlockType
_CrtGetDumpClient