Anzeigen einer Speicherstatistik

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

Thema ist nicht vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

Nur "Systemeigen"

Thema ist nicht vorhanden

Pro, Premium und Ultimate

Thema ist nicht vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

Nur "Systemeigen"

Thema ist nicht vorhanden

Durch die CMemoryState::Difference-Funktion werden die beiden Speicherzustandsobjekte verglichen und alle Objekte ermittelt, die zwischen dem Anfangs- und dem Endzustand nicht vom Heap freigegeben wurden. Nachdem Sie Speichersnapshots aufgezeichnet (Gewusst wie: Erstellen von Speichersnapshots) und diese mithilfe von CMemoryState::Difference verglichen haben, können Sie CMemoryState::DumpStatistics aufrufen, um Informationen über die nicht freigegebenen Objekte zu erhalten.

Betrachten Sie das folgende Beispiel:

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

Ein Beispieldump dieses Codes sieht z. B. wie folgt aus:

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

Bei freien Blöcken handelt es sich um die Blöcke, deren Freigabe verzögert wird, wenn afxMemDF auf delayFreeMemDF festgelegt wurde. Weitere Informationen hierzu finden Sie unter Gewusst wie: Aktivieren der Speicherdiagnose.

Die in der zweiten Zeile aufgeführten normalen Objektblöcke bleiben auf dem Heap reserviert.

Nicht-Objektblöcke umfassen Arrays und Strukturen, die mit new reserviert wurden. In diesem Fall wurden vier Elemente, die kein Objekt darstellen, auf dem Heap reserviert, jedoch nicht freigegeben.

Largest number used gibt an, wie viel Speicher vom Programm maximal reserviert wurde.

Total allocations gibt die gesamte, vom Programm genutzte Arbeitsspeicherkapazität an.

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Speichersnapshots

Referenz

CMemoryState Structure

Weitere Ressourcen

Speicherverlusterkennung in MFC

Diagnostic Services