Freigeben über


IDebugClient4::WriteDumpFile2-Methode (dbgeng.h)

Die WriteDumpFile2-Methode erstellt eine Benutzermodus- oder kernel-modecrash-Dumpdatei.

Syntax

HRESULT WriteDumpFile2(
  [in]           PCSTR DumpFile,
  [in]           ULONG Qualifier,
  [in]           ULONG FormatFlags,
  [in, optional] PCSTR Comment
);

Parameter

[in] DumpFile

Gibt den Namen der zu erstellenden Dumpdatei an. DumpFile muss die Dateinamenerweiterung enthalten. DumpFile kann einen relativen oder absoluten Pfad enthalten. relative Pfade sind relativ zum Verzeichnis, in dem der Debugger gestartet wurde.

[in] Qualifier

Gibt den Typ der zu erstellenden Dumpdatei an. Mögliche Werte finden Sie unter DEBUG_DUMP_XXX.

[in] FormatFlags

Gibt Flags an, die das Format der Dumpdatei bestimmen, und - für Minidumps im Benutzermodus - welche Informationen in die Datei eingeschlossen werden sollen. Einzelheiten finden Sie unter "Hinweise".

[in, optional] Comment

Gibt eine Kommentarzeichenfolge an, die in die Absturzabbilddatei eingeschlossen werden soll. Diese Zeichenfolge wird in der Debuggerkonsole angezeigt, wenn die Dumpdatei geladen wird. Einige Dumpdateiformate unterstützen das Speichern von Kommentarzeichenfolgen nicht.

Rückgabewert

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.

Hinweise

Die DEBUG_FORMAT_XXX-Bitflags werden von WriteDumpFile2 und WriteDumpFileWide verwendet, um das Format einer Absturzabbilddatei zu bestimmen und für Benutzermodus-Minidumps, welche Informationen in die Datei aufgenommen werden sollen.

Die folgenden Bitflags gelten für alle Absturzabbilddateien.

Wert BESCHREIBUNG
DEBUG_FORMAT_WRITE_CAB Packen Sie die Absturzabbilddatei in eine CAB-Datei. Der angegebene Dateiname oder Dateihandle wird für die CAB-Datei verwendet. das Absturzabbild wird zuerst in einer temporären Datei erstellt, bevor es in die CAB-Datei verschoben wird.
DEBUG_FORMAT_CAB_SECONDARY_FILES
Fügen Sie die aktuellen Symbole und zugeordneten Bilder in die CAB-Datei ein.
Wenn DEBUG_FORMAT_WRITE_CAB nicht festgelegt ist, wird dieses Flag ignoriert.
DEBUG_FORMAT_NO_OVERWRITE Überschreiben Sie vorhandene Dateien nicht.
 

Die folgenden Bitflags können auch für Benutzermodus-Minidumps enthalten sein.

Wert BESCHREIBUNG
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY Fügen Sie vollständige Speicherdaten hinzu. Alle zugänglichen Commitseiten, die der Zielanwendung gehören, werden eingeschlossen.
DEBUG_FORMAT_USER_SMALL_HANDLE_DATA Fügen Sie Daten zu den Handles hinzu, die der Zielanwendung zugeordnet sind.
DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES Fügen Sie entladene Modulinformationen hinzu. Diese Informationen sind nur in Windows Server 2003 und höheren Versionen von Windows verfügbar.
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY Fügen Sie indirekten Arbeitsspeicher hinzu. Es ist ein kleiner Bereich des Arbeitsspeichers enthalten, der jede Adresse umgibt, auf die ein Zeiger auf den Stapel oder den Sicherungsspeicher verweist.
DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS Fügen Sie alle Datensegmente innerhalb der ausführbaren Images hinzu.
DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY Legen Sie den gesamten Arbeitsspeicher auf dem Stapel und im Sicherungsspeicher auf Null fest, der für das Erneute erstellen der Stapelablaufverfolgung nicht nützlich ist. Dies kann die Komprimierung des Minidumps effizienter machen und die Privatsphäre erhöhen, indem unnötige Informationen entfernt werden.
DEBUG_FORMAT_USER_SMALL_FILTER_PATHS Entfernen Sie die Modulpfade, wobei nur die Modulnamen belassen werden. Dies ist nützlich, um die Privatsphäre zu schützen, indem die Verzeichnisstruktur (die möglicherweise den Namen des Benutzers enthalten kann) ausgeblendet wird.
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA Fügen Sie den Prozessumgebungsblock (Process Environment Block, PEB) und den Threadumgebungsblock (TEB) hinzu. Dieses Flag kann verwendet werden, um Windows-Systeminformationen für Threads und Prozesse bereitzustellen.
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY Fügen Sie alle gebundenen privaten Lese-/Schreibspeicherseiten hinzu.
DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA
Verhindern, dass vertrauliche Daten im Minidump enthalten sind. Derzeit wird dieses Flag von den Minidump-Daten ausgeschlossen, die aufgrund der folgenden Flags hinzugefügt worden wären:
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY.
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO Fügen Sie alle grundlegenden Speicherinformationen hinzu. Dies sind die von der QueryVirtual-Methode zurückgegebenen Informationen. Die Informationen für den gesamten Arbeitsspeicher sind enthalten, nicht nur gültiger Arbeitsspeicher, sodass der Debugger das gesamte Layout des virtuellen Speichers aus dem Minidump rekonstruieren kann.
DEBUG_FORMAT_USER_SMALL_THREAD_INFO Fügen Sie zusätzliche Threadinformationen hinzu, die Ausführungszeit, Startzeit, Exitzeit, Startadresse und status.
DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS Fügen Sie alle Codesegmente mit den ausführbaren Images hinzu.
 

Weitere Informationen zu Absturzabbilddateien finden Sie unter Dump-File Targets.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (einschließlich Dbgeng.h)

Weitere Informationen

.dump (Erstellen einer Dumpdatei)

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

WriteDumpFileWide