Gewusst wie: Aktivieren der Speicherdiagnose
Aktualisiert: November 2007
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
![]() |
![]() |
Nur "Systemeigen" |
![]() |
Standard |
![]() |
![]() |
Nur "Systemeigen" |
![]() |
Pro und Team |
![]() |
![]() |
Nur "Systemeigen" |
![]() |
Tabellenlegende:
![]() |
Vorhanden |
![]() |
Nicht vorhanden |
![]() |
Befehl oder Befehle, die standardmäßig ausgeblendet sind. |
Damit Sie die Speicherdiagnosefeatures nutzen können, muss die Diagnosenachverfolgung aktiviert werden.
So aktivieren oder deaktivieren Sie die Speicherdiagnose
- Rufen Sie die globale AfxEnableMemoryTracking-Funktion auf, um die Diagnose-Speicherreservierungsfunktion zu aktivieren oder zu deaktivieren. Da die Speicherdiagnose in der Debugbibliothek standardmäßig aktiviert ist, wird diese Funktion in der Regel verwendet, um die Speicherdiagnose vorübergehend zu deaktivieren. Auf diese Weise wird die Programmausführung beschleunigt und die Diagnoseausgabe reduziert.
So wählen Sie spezifische Speicherdiagnosefeatures mit "afxMemDF" aus
Wenn Sie die Speicherdiagnosefeatures präziser steuern möchten, können Sie einzelne Features gezielt aktivieren und deaktivieren, indem Sie den Wert der globalen MFC-Variablen afxMemDF festlegen. Diese Variable wird über den AfxMemDF-Enumerationstyp festgelegt und kann folgende Werte annehmen:
Wert
Bedeutung
allocMemDF
Aktivieren der Diagnose-Speicherreservierungsfunktion (Standard).
delayFreeMemDF
Verzögern der Speicherfreigabe nach dem Aufrufen von delete oder free bis zum Programmende. Auf diese Weise reserviert das Programm den größtmöglichen Speicherplatz.
checkAlwaysMemDF
Aufrufen von AfxCheckMemory bei jeder Speicherreservierung oder -freigabe.
Diese Werte können mit logischen OR-Operationen auch kombiniert werden, z. B.:
AfxMemDF = allocMemDF | delayFreeMemDF | checkAlwaysMemDF;