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

Команда .dump создает файл аварийного дампа в пользовательском режиме или режиме ядра.

.dump [options] FileName
.dump /?

Параметры

Параметры
Представляет один или несколько из следующих параметров.

/a
Создание дампов для всех процессов (требуется -u).

/b[a]
Упаковка дампа в CAB и удаление дампа. Дополнительные сведения включаются , если указан параметр .

Комментарий /c <>
Добавьте комментарий (не поддерживается во всех форматах).

/j <addr>
Укажите адрес JIT_DEBUG_INFO.

/O
Перезаписывает существующий файл дампа с тем же именем. Если этот параметр не используется и имеется файл с таким же именем, файл дампа не записывается.

/u
Добавьте уникальный идентификатор в имя дампа.

/f[FullOptions]
(Режим ядра:) Создает полный дамп памяти.

(Пользовательский режим:) Не поддерживается. Ранее этот параметр создавал полный дамп пользовательского режима, который является устаревшим форматом с меньшим количеством сведений, чем в новом формате минидампа. Дополнительные сведения см. в разделе Варианты файлов дампа User-Mode.

Чтобы изменить содержимое файла дампа, можно добавить следующие FullOptions . параметр учитывает регистр.

FullOption Действие
y Добавляет сведения о регистрации AVX в файл дампа.

/m[MiniOptions]
Создает небольшой дамп памяти (в режиме ядра) или минидамп (в пользовательском режиме). Дополнительные сведения см. в разделе Файлы дампа в пользовательском режиме. Если ни /f , ни /m не указаны, по умолчанию используется параметр /m .

В пользовательском режиме за параметром /m могут следовать дополнительные мини-параметры , указывающие дополнительные данные, которые должны быть включены в дамп. Если miniOptions не включены, дамп будет включать сведения о модуле, потоке и стеке, но не будут добавлены дополнительные данные. Чтобы изменить содержимое файла дампа, можно добавить любой из следующих мини-вариантов : в них учитывается регистр.

MiniOption Действие
а Создает минидамп со всеми необязательными дополнениями. Параметр /ma эквивалентен параметру /mfFhut. Он добавляет данные о полной памяти, данные обработки, сведения о выгруженном модуле, основные сведения о памяти и время потока в минидамп. Любой сбой чтения недоступной памяти приводит к прекращению создания минидампа.
A Параметр /mA эквивалентен параметру /ma, за исключением того, что он игнорирует все ошибки чтения недоступной памяти и продолжает создавать минидамп.
f Добавляет данные полной памяти в минидамп. Будут включены все доступные зафиксированные страницы, принадлежащие целевому приложению.
F Добавляет все основные сведения о памяти в минидамп. Это добавляет поток в минидамп, который содержит все основные сведения о памяти, а не только сведения о допустимой памяти. Это позволяет отладчику воссоздать полный макет виртуальной памяти процесса при отладке минидампа.
h Добавляет данные о дескрипторах, связанных с целевым приложением, в минидамп.
u Добавляет в минидамп сведения о выгруженных модулях.
t Добавляет дополнительные сведения о потоке в минидамп. Сюда входит время потока, которое можно отобразить с помощью расширения !runaway или команды .ttime (Display Thread Times) при отладке минидампа.
i Добавляет в минидамп вспомогательную память. Вторичная память — это любая память, на которую ссылается указатель на стек или резервное хранилище, а также небольшая область вокруг этого адреса.
p Добавляет в минидамп данные блока среды обработки (PEB) и блока среды потока (TEB). Это может быть полезно, если вам нужен доступ к системной информации Windows, касающейся процессов и потоков приложения.
w Добавляет все зафиксированные частные страницы для чтения и записи в минидамп.
d Добавляет все сегменты данных для чтения и записи в исполняемом образе в минидамп.
с Добавляет разделы кода в изображения.
r Удаляет из минидампы те части стека и память хранения, которые не полезны для повторного создания трассировки стека. Локальные переменные и другие значения типов данных также удаляются. Этот параметр не делает минидампа меньше (так как эти разделы памяти просто обнуляются), но он полезен, если вы хотите защитить конфиденциальность других приложений.
R Удаляет полные пути к модулю из минидампа. Будут включены только имена модулей. Это удобно, если вы хотите защитить конфиденциальность структуры каталогов пользователя.
y Добавляет сведения о регистрации AVX в файл дампа.

Параметры режима ядра

В режиме ядра доступны следующие параметры.

/K
Создайте дамп только с памятью ядра.

/Ка
Создайте дамп с активным ядром и памятью пользовательского режима.

Дополнительные сведения

Описание файлов дампа в режиме ядра и объяснение их использования см. в разделе Файлы дампа режима ядра. Описание файлов дампа в пользовательском режиме и объяснение их использования см. в разделе Файлы дампа пользовательского режима.

Комментарии

Эту команду можно использовать в различных ситуациях:

  • Во время динамической отладки в пользовательском режиме эта команда направляет целевое приложение на создание файла дампа, но целевое приложение не завершает работу.

  • Во время динамической отладки в режиме ядра эта команда направляет целевой компьютер на создание файла дампа, но при этом не происходит сбой.

  • Во время отладки аварийного дампа эта команда создает новый файл аварийного дампа из старого. Это полезно, если у вас есть большой файл аварийного дампа и вы хотите создать файл меньшего размера.

Вы можете управлять типом создаваемого файла дампа:

  • В режиме ядра для создания полного дампа памяти используйте параметр /f . Чтобы создать небольшой дамп памяти, используйте параметр /m (или без параметров). Команда .dump не может создать дамп памяти ядра.

  • В пользовательском режиме лучшим выбором является .dump/m[MiniOptions] . Хотя "m" означает "minidump", файлы дампа, созданные с помощью этого miniOption, могут различаться по размеру от очень маленького к очень большому. Указав правильные miniOptions , вы можете точно контролировать, какие сведения будут включены. Например, .dump /ma создает дамп с большими сведениями. Старая команда .dump /f создает файл "стандартный дампа" умеренно большого размера и не может быть настроен.

Невозможно указать, какой процесс является дампом. Все запущенные процессы будут дампами.

Параметры /xc, /xr, /xp и /xt используются для хранения сведений об исключении и контексте в файле дампа. Это позволяет выполнять команду .ecxr (Display Exception Context Record) в этом файле дампа.

В следующем примере создается минидамп пользовательского режима, содержащий полную память и сведения о дескрипторе:

0:000> .dump /mfh myfile.dmp

Сведения о дескрипторе можно считывать с помощью команды расширения !handle .

См. также:

Разновидности файлов дампа Kernel-Mode