다음을 통해 공유


_CrtMemCheckpoint

디버그 힙의 현재 상태를 가져오고 응용 프로그램에서 제공한 _CrtMemState 구조에 저장합니다(디버그 버전만 해당).

void _CrtMemCheckpoint(    _CrtMemState *state  );

매개 변수

  • state
    메모리 검사점으로 채울 _CrtMemState 구조에 대한 포인터입니다.

설명

_CrtMemCheckpoint 함수는 지정된 시점에 디버그 힙의 현재 상태에 대한 스냅숏을 만듭니다. 이 스냅숏은 메모리 누수를 비롯한 여러 문제를 손쉽게 감지하도록 _CrtMemDifference 같은 그 밖의 힙 상태 함수에 사용할 수 있습니다. _DEBUG가 정의되지 않은 경우 전처리 중 _CrtMemState에 대한 호출이 제거됩니다.

응용 프로그램에서는 state 매개 변수의 Crtdbg.h에 정의된 대로 _CrtMemState 구조의 이전에 할당된 인스턴스에 포인터를 전달해야 합니다. 검사점 생성 시 _CrtMemCheckpoint에서 오류가 발생하면 이 함수에서는 문제에 대해 설명하는 _CRT_WARN 디버그 보고서를 생성합니다.

힙 상태 함수 및 _CrtMemState 구조에 대한 자세한 내용은 힙 상태 보고 함수를 참조하세요. 기본 힙의 디버그 버전에서 메모리 블록을 할당, 초기화 및 관리하는 방법에 대한 자세한 내용은 CRT 디버그 힙 정보를 참조하세요.

state가 NULL인 경우 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우 errno, _doserrno, _sys_errlist 및 _sys_nerr는 EINVAL로 설정되고 이 함수가 반환됩니다.

요구 사항

루틴

필수 헤더

_CrtMemCheckpoint

<crtdbg.h>, <errno.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성을 참조하세요.

라이브러리: CRT 라이브러리 기능의 디버그 버전에만 해당됩니다.

예제

crt_dbg1을 참조하세요.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제을 참조하십시오.

참고 항목

참조

디버그 루틴

_CrtMemDifference