Gibt das Ziel der Dump ausgegeben. Mögliche Werte, die mit dem Operator bitweise OR (|) kombiniert werden können, sind wie folgt:
AFX_STACK_DUMP_TARGET_TRACE&Nbsp; Sendet die Ausgabe über das TRACE -Makro. Das TRACE -Makro generiert eine Ausgabe in Debug-Builds nur; Es wird keine Ausgabe in Releasebuilds generiert. TRACE kann auch auf andere Ziele neben den Debugger umgeleitet werden.
AFX_STACK_DUMP_TARGET_DEFAULT&Nbsp; Sendet dump Ausgabe an das Standardziel. Für ein Debugbuild geht die Ausgabe an das TRACE -Makro. In einem Releasebuild geht die Ausgabe in die Zwischenablage.
AFX_STACK_DUMP_TARGET_CLIPBOARD&Nbsp; Sendet die Ausgabe in der Zwischenablage nur. Die Daten werden als unformatierter Text im CF_TEXT Zwischenablage Format in der Zwischenablage abgelegt.
AFX_STACK_DUMP_TARGET_BOTH&Nbsp; Sendet die Ausgabe in die Zwischenablage und das TRACE -Makro, gleichzeitig.
AFX_STACK_DUMP_TARGET_ODS&Nbsp; Sendet die Ausgabe an dem Debugger über die Win32-Funktion OutputDebugString()direkt. Diese Option wird generiert Debugger Ausgabe in beide Debug und Releasebuilds wenn ein Debugger an den Prozess angefügt ist. AFX_STACK_DUMP_TARGET_ODS immer erreicht den Debugger (wenn er angeschlossen ist) und können nicht weitergeleitet werden.
Bemerkungen
Diese globale Funktion kann verwendet werden, um ein Bild des aktuellen Stapels zu generieren. Im folgenden Beispiel entspricht eine Zeile durch Aufrufen von AfxDumpStack aus einem Schaltflächenhandler in einem MFC-Dialogfeld-Anwendung generierte Ausgabe:
Die folgende Tabelle beschreibt die oben genannten Zeile der Ausgabe:
Ausgabe
Beschreibung
BFF928E0:
Die Absenderadresse des letzten Funktionsaufrufes.
WINDOWS\SYSTEM\KERNEL32.DLL!
Der vollständige Pfadname des Moduls, das den Aufruf der Funktion enthält.
UTUnRegister
Der Funktionsprototyp genannt.
+ 2492 bytes
Der Offset in Bytes von der Adresse der Funktionsprototyp (in diesem Fall UTUnRegister ) an die Absenderadresse (in diesem Fall BFF928E0 ).
AfxDumpStack steht in Debug- und folgende Versionen der MFC-Bibliotheken; jedoch ist die Funktion immer statisch verknüpft, auch wenn die ausführbare Datei MFC in einer gemeinsam genutzten DLL verwendet. Im shared-Library-Implementierungen ist die Funktion in der MFCS42 gefunden.LIB-Bibliothek (und ihre Varianten).
Für diese Funktion erfolgreich:
Die Datei IMAGEHLP.DLL muss auf dem Weg sein. Wenn Sie diese DLL nicht haben, wird die Funktion eine Fehlermeldung angezeigt. IMAGEHLP.DLL ist eine verteilbare DLL, die Schiffe mit der Win32 SDK und Windows. Suchen sie in C:\[windows]\system[32]. Finden Sie unter Portable ausführbare Dateimanipulation eine Einführung in die Funktion Set von IMAGEHLP bereitgestellt.
Die Module, die Frames auf dem Stapel verfügen müssen debugging-Informationen enthalten. Wenn sie keine Debuginformationen enthalten, generiert die Funktion einen Stack-Trace noch, aber die Ablaufverfolgung wird weniger detailliert.