_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 런타임 라이브러리의 디버그 버전만 해당됩니다.