CMemoryState

CMemoryState 에 기본 클래스。

CMemoryState 프로그램에서 메모리 누수를 감지 하는 편리한 방법을 제공 합니다. "메모리 누수" 때 개체에 대 한 메모리 힙에 할당 하지만 더 이상 필요한 경우 할당이 취소 되지 않으면 발생 합니다. 이러한 메모리 누수 결국 메모리 부족 오류가 발생할 수 있습니다. 여러 가지 방법으로 할당 하 고 프로그램에서 메모리 할당:

CMemoryState 진단만 탐지할 new 연산자를 사용 하 여 메모리를 할당 하는 경우 발생 하는 메모리 누수 되지 삭제를 사용 하 여 할당 됩니다. 메모리 관리 기능 다른 두 그룹은 새로운 그들 혼합 비 c + + 프로그램에 대 한와 같은 프로그램의 삭제 를 권장 하지 않습니다. 파일 및 줄 번호 추적 메모리 할당 해야 하는 경우 new 연산자를 대체 하는 추가 매크로 DEBUG_NEW를 제공 됩니다. DEBUG_NEW 일반적으로 new 연산자를 사용 하는 때마다 사용 하는。

다른 진단에서와 마찬가지로 CMemoryState 진단 프로그램의 디버그 버전에서 사용할 수 있습니다. 디버그 버전에 정의 되는 _DEBUG 상수는 있어야 합니다.

프로그램에 메모리 누수가 의심 되는 경우에 두 개의 서로 다른 지점에서 프로그램 실행 메모리 상태 (할당 된 개체) 사이의 차이 발견 하 검사점, 차이, 그리고 DumpStatistics 함수를 사용할 수 있습니다. 이 정보는 함수 할당 하는 모든 개체를 정리 여부를 결정 하는 데 유용 될 수 있습니다.

단순히 할당 및 할당 취소에 불균형이 발생 하는 위치를 알고 충분 한 정보를 제공 하지 않습니다, 검사점이전 호출 이후에 할당 된 모든 개체를 덤프 DumpAllObjectsSince 함수를 사용할 수 있습니다. 이 덤프 할당, 소스 파일 및 줄 개체 (해당 되는 경우 할당에 DEBUG_NEW 를 사용 하는) 할당 된 위치, 순서를 표시 및 개체, 해당 주소와 크기의 파생. DumpAllObjectsSince 또한 현재 상태에 대 한 정보를 제공 하기 위해 각 개체 덤프 함수 호출。

CMemoryState 및 기타 진단 유틸리티를 사용 하는 방법에 대 한 자세한 내용은 참조 Visual c + + 프로그래머 가이드 에서 MFC 디버깅 지원

메모nbsp;??선언 형식의 CMemoryState 개체의 멤버 함수를 호출 하 여 사이 해야 #if defined(_DEBUG)/#endif 지시문. 이 인해 메모리 진단 프로그램의 빌드를 디버깅에 포함 될(&N)。

클래스 멤버 |nbsp; 계층 구조 차트(&N)

Index