Freigeben über


DEBUG_NEW

Vorlagen im Auffinden von Arbeitsspeicherverlusten.

#define new DEBUG_NEW

Hinweise

Sie können DEBUG_NEW in einem Programm überall verwenden, die Sie normalerweise den Operator neu verwenden würden, um Heapspeicher zuzuordnen.

Im Debugmodus (wenn das _DEBUG Symbol definiert), behält DEBUG_NEW die Dateinamen und Zeilennummern jedes Objekts nachverfolgt, dem sie zugeordnet wird. Falls Sie die Memberfunktion CMemoryState::DumpAllObjectsSince erstellen, wird jedes Objekt, das DEBUG_NEW zugeordnet ist, mit dem Dateinamen und der Zeilennummer angezeigt, an der es reserviert wurde.

Um DEBUG_NEW zu verwenden, fügen Sie die folgenden Direktiven in die Quelldateien ein:

#define new DEBUG_NEW

Sobald diese Direktive einfügen, fügt der Präprozessor DEBUG_NEW ein, auf denen Sie neu verwenden, MFC und führt den Rest. Wenn Sie eine Releaseversion des Programms kompilieren, wird DEBUG_NEW in eine einfache neu - Vorgang auf, und die Dateinamen und Zeilennummern werden nicht generiert.

Hinweis

In früheren Versionen von MFC (4,1 und früher) benötigen Sie, um die #define-Anweisungen Finally-Anweisung speichern, die die IMPLEMENT_DYNCREATE oder IMPLEMENT_SERIAL-Makros.Dies ist nicht mehr erforderlich.

Anforderungen

Header: afx.h

Siehe auch

Konzepte

MFC-Makros, globale Funktionen und globale Variablen

Weitere Ressourcen

MFC-Debugverfahren