AfxCheckMemorynbsp(&N);

BOOL AfxCheckMemory ( );

반환 값

0이 아닌 경우 메모리 오류; 그렇지 않으면 0。

주의

이 함수는 메모리 풀의 유효성을 검사 하 고 필요에 따라 오류 메시지를 인쇄 합니다. 없음 메모리 손상이 감지 하는 기능, 만약 아무것도 인쇄。

힙에 현재 할당 된 모든 메모리 블록은 새로운 하지만 아니라 그 malloc 함수 또는 GlobalAlloc Windows 함수와 같은 기본 메모리 할당자를 직접 호출 하 여 할당에 의해 할당 된 포함 하 여 확인 됩니다. 디버거 출력에 메시지를 인쇄 어떤 블록 손상 될 경우。

줄을 포함 하는 경우

# define 새 DEBUG_NEW

프로그램 모듈에 다음 AfxCheckMemory 를 호출 표시 파일 이름 및 줄 번호를 메모리 할당 된。

메모nbsp;??경우 모듈 serializable 클래스의 하나 이상의 구현을 포함 해야 합니다 #define 마지막 IMPLEMENT_SERIAL 매크로 호출 후 선(&N)。

이 기능은 MFC의 디버그 버전 에서만 작동。

예제

 / / AfxCheckMemory 예
케이지 * pcage = 새로운 케이지 (21); nbsp; / / 케이지 Cobject에서 파생 됩니다.
연령 * 페이지 = 새로운 시대 (22);???? / / 연령 Cobject에서 파생 되지 않습니다.
*(((char*) pcage)-1) = 99;?? / / 앞 가드 바이트 손상
*(((char*) 페이지)-1) = 99;??? / / 앞 가드 바이트 손상
AfxCheckMemory()(&N)

프로그램에서 결과가 다음과 같습니다.:

메모리 검사 오류 $0067495f에서 $63 =, $FD 되어야
$00674960 비-개체 블록 전에 손상:
파일 test02.cxx(48)에 할당 된 비 개체
$00674960에 있는 비-개체는 길이가 2 바이트
메모리 검사 오류 $00674905에서 $63 =, $FD 되어야
$00674906에서 개체 블록 전에 손상:
파일 test02.cxx(47)에서 할당 된 개체
$00674906에 위치한 개체는 6 바이트 길이

Index