다음을 통해 공유


_CrtIsMemoryBlock

지정 된 메모리 블록에서 로컬 힙 이며 올바른 디버그 힙의 블록 형식 식별자 (디버그 버전에만 해당)가 있는지 확인 합니다.

int _CrtIsMemoryBlock( 
   const void *userData,
   unsigned int size,
   long *requestNumber,
   char **filename,
   int *linenumber 
);

매개 변수

  • [in] userData
    확인 하려면 메모리 블록의 시작 부분에 대 한 포인터입니다.

  • [in] size
    바이트로 지정 된 블록 크기입니다.

  • [out] requestNumber
    할당 블록 개수에 대 한 포인터 또는 NULL.

  • [out] filename
    블록을 요청 하는 소스 파일의 이름에 대 한 포인터 또는 NULL.

  • [out] linenumber
    소스 파일의 줄 번호에 대 한 포인터 또는 NULL.

반환 값

_CrtIsMemoryBlock반환 TRUE 지정 된 메모리 블록이 로컬 힙에 있는 올바른 디버그 힙의 블록 형식 식별자; 인 경우 그렇지 않으면 함수가 반환 FALSE.

설명

_CrtIsMemoryBlock 함수를 지정 된 메모리 블록 내에서 응용 프로그램의 로컬 힙 위치 이며 올바른 블록 유형 식별자가 있는지 확인 합니다.또한 메모리 블록 할당 원래 요청한 개체 할당 순서 번호와 소스 파일 이름을/줄 번호를 얻을 수이 함수를 사용할 수 있습니다.NULL이 아닌 값을 전달 하는 requestNumber, filename, 또는 linenumber 매개 변수가 원인 _CrtIsMemoryBlock 의 로컬 힙 블록을 발견 하면 디버그 메모리 블록 헤더의 값이 매개 변수를 설정 합니다.때 _DEBUG 정의 되지 않은, 호출 하려면 _CrtIsMemoryBlock 전처리 하는 동안 제거 됩니다.

경우 _CrtIsMemoryBlock 실패를 반환 FALSE 출력 매개 변수가 기본값으로 초기화 되 고: requestNumber 및 lineNumber 0으로 설정 되어 및 filename 으로 설정 NULL.

이 함수는 반환 하기 때문에 TRUE 또는 FALSE, 중 하나에 전달 될 수는 _ASSERT 간단한 디버깅 오류 처리 메커니즘을 만드는 매크로.지정한 주소가 로컬 힙 내에서 찾을 수 없는 경우 다음은 어설션 오류가 발생 합니다.

_ASSERTE( _CrtIsMemoryBlock( userData, size, &requestNumber, 
&filename, &linenumber ) );

방법에 대 한 자세한 내용은 _CrtIsMemoryBlock 다른 디버그 함수 및 매크로를 사용할 수 있습니다 자세한 내용은 매크로 사용 하 여 확인 및 보고에 대 한.메모리 블록 할당, 초기화 및 기본 힙의 디버그 버전에서 관리 하는 방법에 대 한 자세한 내용은 참조 하십시오. 메모리 관리 및 디버그 힙.

요구 사항

루틴

필수 헤더

_CrtIsMemoryBlock

<crtdbg.h>

더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

라이브러리

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

예제

예제를 보려면 해당 _CrtIsValidHeapPointer 항목.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

루틴을 디버깅 합니다.