메모리 통계 보기
이 항목은 다음 언어에 적용됩니다.
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
![]() |
![]() |
![]() |
네이티브 전용 |
![]() |
Pro, Premium 및 Ultimate |
![]() |
![]() |
![]() |
네이티브 전용 |
![]() |
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를 사용하면 프로그램이 사용하는 총 메모리를 알 수 있습니다.