Freigeben über


IDebugClient5::WriteDumpFile2-Methode (dbgeng.h)

Die WriteDumpFile2-Methode erstellt eine Speicherabbilddatei für den Benutzermodus oder kernel-modecrash.

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 Speicherabbilddatei 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 Speicherabbilddatei an. Mögliche Werte finden Sie unter DEBUG_DUMP_XXX.

[in] FormatFlags

Gibt Flags an, die das Format der Speicherabbilddatei bestimmen, und – für Minidumps im Benutzermodus – welche Informationen in die Datei aufgenommen 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 Speicherabbilddatei geladen wird. Einige Speicherabbilddateiformate unterstützen das Speichern von Kommentarzeichenfolgen nicht.

Rückgabewert

Diese Methode gibt möglicherweise auch Fehlerwerte zurück. 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 bei Minidumps im Benutzermodus, 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 einer 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
Schließen 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 keine vorhandenen Dateien.
 

Die folgenden Bitflags können auch für Benutzermodus-Minidumps eingeschlossen werden.

Wert BESCHREIBUNG
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY Fügen Sie vollständige Speicherdaten hinzu. Alle zugänglichen committeten Seiten im Besitz der Zielanwendung 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. Ein kleiner Speicherbereich, der jede Adresse umgibt, auf die durch einen Zeiger im Stapel oder Sicherungsspeicher verwiesen wird, ist enthalten.
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 im Stapel und im Sicherungsspeicher auf Null fest, der für die Neuerstellung der Stapelablaufverfolgung nicht nützlich ist. Dies kann die Komprimierung des Minidump effizienter machen und den Datenschutz 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 (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 committeten privaten Lese-/Schreibspeicherseiten hinzu.
DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA
Verhindern, dass datenschutzrelevante Daten im Minidump enthalten sind. Derzeit schließt dieses Flag von den Minidump-Daten aus, 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, wodurch der Debugger das vollständige Layout des virtuellen Speichers aus dem Minidump rekonstruieren kann.
DEBUG_FORMAT_USER_SMALL_THREAD_INFO Fügen Sie zusätzliche Threadinformationen hinzu, z. B. Ausführungszeit, Startzeit, Beendigungszeit, 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 Speicherabbilddateiziele.

Anforderungen

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

Weitere Informationen

.dump (Speicherabbilddatei erstellen)

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

WriteDumpFileWide