다음을 통해 공유


_CrtCheckMemory

(디버그 버전에만 해당) 디버그 힙에 할당된 메모리 블록의 무결성을 확인합니다.

int _CrtCheckMemory( void );

반환 값

성공 하면 _CrtCheckMemory 는 TRUE를 반환합니다. 그렇지 않은 경우 FALSE를 반환합니다.

설명

_CrtCheckMemory 함수를 원본으로 사용하는 기본 힙을 확인하고 모든 메모리 블록을 검사하여 디버그 힙 관리자에 의해 할당 된 메모리의 유효성을 검사합니다. 원본으로 사용하는 기본 힙, 디버그 헤더 정보 또는 덮어쓰기 버퍼에서 오류 또는 메모리 불일치가 발견되면 _CrtCheckMemory 는 오류 조건을 설명하는 정보를 사용하여 디버그 보고서를 생성합니다. _DEBUG가 정의되어 있지 않으면 _CrtCheckMemory 에 대한 호출은 전처리 동안 제거됩니다.

_CrtCheckMemory 의 동작은 _CrtSetDbgFlag 함수를 사용하는 _crtDbgFlag 플래그의 비트 필드를 설정하여 제어할 수 있습니다. _CRTDBG_CHECK_ALWAYS_DF비트 필드를 활성화하면 _CrtCheckMemory 는 메모리 할당 작업이 요청될 때마다 호출됩니다. 이 메서드 실행 속도가 느리지만 빠르게 오류를 잡는 데 유용합니다. _CRTDBG_ALLOC_MEM_DF 비트 필드를 해제하면 _CrtCheckMemory 는 힙을 확인하 고 즉시 TRUE를 반환합니다.

이 함수에서 TRUE 또는 FALSE를 반환 하기 때문에, _ASSERT매크로 중 하나에 전달 되어 간단한 디버깅 오류 처리 메커니즘을 만들 수 있습니다. 다음 예제에서는 힙 손상이 발견되면 어설션 오류가 발생하는 것을 확인할 수 있습니다:

_ASSERTE( _CrtCheckMemory( ) );

어떻게 _CrtCheckMemory 가 다른 디버그 기능과 사용되는지에 대한 자세한 내용은 힙 상태 보고 함수에서 참조하십시오. 메모리 관리 및 디버그 힙 사용 개요에 대한 내용은 CRT 디버그 힙 정보을 참조 하십시오.

요구 사항

루틴

필수 헤더

_CrtCheckMemory

<crtdbg.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

라이브러리

C 런타임 라이브러리 의 유일한 디버그 버전입니다.

예제

_CrtCheckMemory 을 사용하는 방법에 대한 예제는 crt_dbg1을 참조하십시오.

해당 .NET Framework 항목

System::Diagnostics::PerformanceCounter

참고 항목

참조

디버그 루틴

_crtDbgFlag

_CrtSetDbgFlag