Метод IDebugClient3::WriteDumpFile2 (dbgeng.h)

Метод WriteDumpFile2 создает файл дампа в пользовательском режиме или режиме ядра.

Синтаксис

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

Параметры

[in] DumpFile

Указывает имя создаваемого файла дампа. DumpFile должен содержать расширение имени файла. DumpFile может содержать относительный или абсолютный путь; относительные пути относятся к каталогу, в котором был запущен отладчик.

[in] Qualifier

Указывает тип создаваемого файла дампа. Возможные значения см. в разделе DEBUG_DUMP_XXX.

[in] FormatFlags

Задает флаги, определяющие формат файла дампа, и какие сведения следует включить в файл для минидампов пользовательского режима. Дополнительные сведения см. в разделе "Заметки".

[in, optional] Comment

Указывает строку комментария, которая будет включена в файл аварийного дампа. Эта строка отображается в консоли отладчика при загрузке файла дампа. Некоторые форматы файлов дампа не поддерживают хранение строк комментариев.

Возвращаемое значение

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Битовые флаги DEBUG_FORMAT_XXXX используются writeDumpFile2 и WriteDumpFileWide для определения формата файла аварийного дампа, а для минидампов пользовательского режима — для сведений, включаемых в файл.

Следующие битовые флаги применяются ко всем файлам аварийного дампа.

Значение Описание
DEBUG_FORMAT_WRITE_CAB Упакуйте файл аварийного дампа в CAB-файл. Указанное имя файла или дескриптор файла используется для CAB-файла; Аварийный дамп сначала создается во временном файле перед перемещением в CAB-файл.
DEBUG_FORMAT_CAB_SECONDARY_FILES
Включите текущие символы и сопоставленные изображения в CAB-файл.
Если DEBUG_FORMAT_WRITE_CAB не задан, этот флаг игнорируется.
DEBUG_FORMAT_NO_OVERWRITE Не перезаписывать существующие файлы.
 

Для минидампов в пользовательском режиме также можно включить следующие битовые флаги.

Значение Описание
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY Добавление данных о полной памяти. Будут включены все доступные зафиксированные страницы, принадлежащие целевому приложению.
DEBUG_FORMAT_USER_SMALL_HANDLE_DATA Добавление данных о дескрипторах, связанных с целевым приложением.
DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES Добавьте сведения о выгруженных модулях. Эти сведения доступны только в Windows Server 2003 и более поздних версиях Windows.
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY Добавление непрямой памяти. Включается небольшая область памяти, которая окружает любой адрес, на который ссылается указатель на стек или резервное хранилище.
DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS Добавьте все сегменты данных в исполняемые образы.
DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY Присвойте нулю всю память в стеке и в резервном хранилище, что не полезно для повторного создания трассировки стека. Это может сделать сжатие Minidump более эффективным и повысить конфиденциальность за счет удаления ненужных сведений.
DEBUG_FORMAT_USER_SMALL_FILTER_PATHS Удалите пути к модулю, оставив только имена модулей. Это полезно для защиты конфиденциальности путем скрытия структуры каталогов (которая может содержать имя пользователя).
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA Добавьте блок среды процесса (PEB) и блок среды потока (TEB). Этот флаг можно использовать для предоставления сведений о системе Windows для потоков и процессов.
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY Добавьте все зафиксированные частные страницы памяти для чтения и записи.
DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA
Запретить включение конфиденциальных данных в Minidump. В настоящее время этот флаг исключает из данных Minidump, которые были бы добавлены из-за установки следующих флагов:
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 Добавьте все основные сведения о памяти. Это сведения, возвращаемые методом QueryVirtual . Сведения обо всей памяти, а не только о допустимой памяти, что позволяет отладчику воссоздать полный макет виртуальной памяти из Minidump.
DEBUG_FORMAT_USER_SMALL_THREAD_INFO Добавьте дополнительные сведения о потоке, включая время выполнения, время начала, время выхода, адрес начала и состояние выхода.
DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS Добавьте все сегменты кода с исполняемыми образами.
 

Дополнительные сведения о файлах аварийных дампов см. в разделе Dump-File Targets.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)

См. также раздел

.dump (создание файла дампа)

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

WriteDumpFileWide