Diagnosedienste
Das Microsoft Foundation Class-Bibliothek-Zubehör zahlreiche Dienste, die Diagnose vornehmen, die Programme einfacher debuggen.Diese Diagnose Dienste umfassen Makros und globale Funktionen, mit denen Sie die Speicherbelegungen des Programms zu verfolgen, um den Inhalt von Objekten während der Laufzeit speichern und Debugmeldungen während der Laufzeit ausgeben.Die Makros und globale Funktionen für Diagnosen Dienste werden in die folgenden Kategorien gruppiert:
Allgemeine Diagnose Makros
Allgemeine Diagnose Funktionen und Variablen
Funktionen diagnosen Objekt
Diese Makros und Funktionen sind für alle Klassen verfügbar, die von CObject im Debug- und Releaseversionen von den in MFC abgeleitet sind.Es sei denn, alle DEBUG_NEW und VERIFY nichts in der Releaseversion erfolgen.
Debuggen in der Bibliothek sind alle belegten Speicherblöcke in Klammern mit einer Reihe von Bytes Wächter "." Wenn diese Bytes durch einen fehlerhaften Arbeitsspeicher gestört werden, schreiben Sie können die Diagnoseprogramme ein Problem melden.Wenn Sie die Zeile einfügen:
#define new DEBUG_NEW
Speichern in der Implementierungsdatei alle Aufrufe von new den Dateinamen und die Zeilennummer, in der die Speicherbelegung stattgefunden hat.Die Funktion CMemoryState::DumpAllObjectsSince werden diese zusätzlichen Informationen an und ermöglicht die Speicherverluste zu ermitteln.Verweisen Sie auch auf die Klasse CDumpContext für weitere Informationen zur Diagnose die Ausgabe.
Darüber hinaus unterstützt die C-Laufzeitbibliothek auch einen Satz von Diagnoseinformationen Funktionen, die Sie verwenden können, um die Anwendung zu debuggen.Weitere Informationen finden Sie im Debuggen von Routinen Laufzeitbibliotheks-Verweis.
Allgemeine Diagnose Makros MFC
Druckt eine Nachricht und dann das Programm ab, wenn der angegebene Ausdruck FALSE in der Debugversion der Bibliothek ergibt. |
|
Testet, ob ein Objekt ein Objekt der angegebenen Klasse oder einer Klasse ist, die von der angegebenen Klasse abgeleitet ist. |
|
Überprüft die interne Validität eines Objekts durch Aufrufen seiner AssertValid-Memberfunktion. Überschreiben von CObject i. d. R. |
|
Stellt ein Dateiname und Zeilennummer für alle Objektzuordnungen im Debugmodus, um Speicherverluste zu ermitteln. |
|
Ähnlich wie ASSERT werden jedoch nicht auf den Wert des Ausdrucks. nützlich für Code, der nur im Debugmodus ausgeführt werden soll. |
|
Stellt eine ähnliche Funktion printf in der Debugversion der Bibliothek bereit. |
|
Ähnlich wie ASSERT wertet den Ausdruck aber in der Releaseversion der Bibliothek sowie in der Debugversion aus. |
Allgemeine Diagnose Variablen und Funktionen in MFC
Globale Variablen, die CDumpContext Informationen an den Debugger ausgabefenster Debug oder Terminal sendet. |
|
Globale Variablen, die das Verhalten der Debug- speicherbelegungsfunktion steuert. |
|
Globale Variablen verwendet, um übergebene SCODE zu testen, um zu überprüfen, ob ein Fehler aufgetreten ist und ggf. den entsprechenden Fehler auslöst. |
|
Überprüft die Integrität aller derzeit belegte Speicher. |
|
Wenn Sie im Debugger aufgerufen werden, während Dump der Zustand eines Objekts während des Debuggens. |
|
Generieren Sie ein Bild des aktuellen Stapels.Diese Funktion wird immer statisch verknüpft. |
|
Aktiviert den Speicherverlustdump. |
|
Stellt Speicher und nachverfolgung ab oder legt diese fest. |
|
Überprüft, ob ein Speicherblock ordnungsgemäß zugeordnet wurde. |
|
Überprüft, ob ein Bereich Speicherorte innerhalb der Grenzen des Programms ist. |
|
Bestimmt, ob ein Zeiger auf eine Zeichenfolge gültig ist. |
|
Aktiviert das Aufrufen einer Funktion in jeder Speicherbelegung. |
MFC-Objekt-Diagnosen-Funktionen
Nimmt eine bestimmte Aufgabe für alle CObject abgeleitete Klassen, die Typüberprüfung zur Laufzeit unterstützen. |
|
Nimmt eine bestimmte Aufgabe für alle CObject abgeleitete Objekte, die mit new zugeordnet wurden. |