다음을 통해 공유


_CrtCheckMemory

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

구문


int _CrtCheckMemory( void );

반환 값

성공하면 반환하고TRUE, _CrtCheckMemory 그렇지 않으면 함수가 반환됩니다FALSE.

설명

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

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

이 함수는 반환 TRUE 되거나 FALSE매크로 중 _ASSERT 하나에 전달되어 기본 디버깅 오류 처리 메커니즘을 만들 수 있습니다. 다음 예제에서는 힙에서 손상이 검색된 경우 어설션 실패가 발생합니다.

_ASSERTE( _CrtCheckMemory( ) );

다른 디버그 함수와 함께 사용할 수 있는 방법에 _CrtCheckMemory 대한 자세한 내용은 힙 상태 보고 함수를 참조 하세요. 메모리 관리 및 디버그 힙에 대한 개요는 CRT 디버그 힙 세부 정보를 참조 하세요.

요구 사항

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

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

라이브러리

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

예시

사용 _CrtCheckMemory방법에 대한 샘플은 다음을 참조하세요 crt_dbg1.

참고 항목

디버그 루틴
_crtDbgFlag
_CrtSetDbgFlag