다음을 통해 공유


메모리 통계 보기

업데이트: 2007년 11월

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

C++

Web Developer

Express

항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

Standard

항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

Pro 및 Team

항목이 적용되지 않음 항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

표의 범례:

항목이 적용됨

해당

항목이 적용되지 않음

해당 없음

항목이 적용되지만 명령은 기본적으로 숨겨짐

명령은 기본적으로 숨겨져 있습니다.

CMemoryState::Difference 함수는 두 메모리 상태 개체를 살펴 상태의 시작과 끝 사이의 힙에서 할당 취소되지 않은 모든 개체를 검색합니다. 방법: 메모리 스냅샷 보기CMemoryState::Difference를 사용하여 스냅숏을 비교한 후 CMemoryState::DumpStatistics를 호출하여 할당이 취소되지 않은 개체에 대한 정보를 가져올 수 있습니다.

다음 예제를 참조하십시오.

if( diffMemState.Difference( oldMemState, newMemState ) )
{
   TRACE( "Memory leaked!\n" );
   diffMemState.DumpStatistics();
}

다음 예제는 덤프 샘플을 보여 줍니다.

0 bytes in 0 Free Blocks
22 bytes in 1 Object Blocks
45 bytes in 4 Non-Object Blocks
Largest number used: 67 bytes
Total allocations: 67 bytes

free 블록은 afxMemDF가 delayFreeMemDF로 설정되면 할당 취소가 연기되는 블록입니다. 자세한 내용은 방법: 메모리 진단 사용을 참조하십시오.

두 번째 줄에 표시된 보통 개체 블록은 계속 힙에 할당되어 있습니다.

비개체 블록에는 new로 할당된 배열 및 구조체가 포함됩니다. 이 경우 할당이 취소되지 않는 비개체 블록 네 개가 힙에 할당되어 있습니다.

Largest number used를 사용하면 프로그램은 언제라도 최대 메모리를 사용할 수 있습니다.

Total allocations를 사용하면 프로그램이 사용하는 총 메모리를 알 수 있습니다.

참고 항목

작업

방법: 메모리 스냅샷 보기

참조

CMemoryState Structure

기타 리소스

MFC에서 메모리 누수 탐지

Diagnostic Services