ProcessDump

Материал из wiki.drweb.com
Перейти к: навигация, поиск

Эта статья описывает, как создать дамп-файл (.dmp файл) процесса режима пользователя в ОС Windows. Он нужен, если надо разобраться в причинах завершения процесса с ошибкой, зависания или загрузки процессора.


Дамп памяти — содержимое рабочей памяти процесса, которое операционная система позволяет сохранить для отладки программы. Кроме содержимого памяти, дамп может включать дополнительную информацию о состоянии программы (например значения регистров процессора и содержимое стека).


ProcDump (Mark Russinovich)

Для создания минидампа блокнота (PID=1276), введите в командной строке или "Пуск" -> "Выполнить" (в примере procdump.exe находится в каталоге C:\tools)

C:\tools\procdump notepad.exe C:\notepad.dmp

Для создания полного дампа добавьте параметр -ma

C:\tools\procdump -ma notepad.exe C:\notepad_full.dmp

Если в системе есть несколько процессов с одинаковым именем (яркий пример - svchost.exe), то описанные способ не сработает.

В этом случае вместо имени исполняемого файла процесса (notepad.exe) укажите его PID (1276).


Примечание: В операционных системах Vista и выше для успешного создания дампов, procdump-у нужны права на запись в тот каталог, где будут созданы дампы. Например файл *.dmp в корне диска C: (см. примеры) не удастся создать без прав администратора.

Для снятия дампов с некоторых процессов (например сервисов) в Висте и выше нужны права администратора.


Системные требования

  • Клиет: Windows XP и выше.
  • Сервер: Windows Server 2003 и выше.


Process Explorer (Mark Russinovich, v12.04 и выше)

В контестном меню нужного процесса выбираем один из вариантов: "Create Minidump..." или "Create Full Dump...".

ProcessExplorer Dump.png


Будет открыто диалоговое окно сохранения дампа.


Системные требования

  • Клиент: Windows XP и выше (на Windows 2000 работать не будет).
  • Сервер: Windows Server 2003 и выше.


Диспетчер задач Windows (Windows Vista и выше)

На вкладке "Processes" в контекстном меню нужного процесса выбираем "Создать файл дампа памяти"

TaskManager Dump.png


Диспетчер задач Windows может создавать только полные дампы.

Дампы сохраняются в каталог %TEMP%.

Разрядность полученного дампа соответствует разрядности системы. Т.е. в х64 созданный диспетчером задач дамп 32-х разрядного процесса будет 64-х разрядным.


DebugDiag (Microsoft)

Тредуется установка Debug Diagnostic Tool v1.1

На вкладке "Processes" в контекстном меню нужного процесса выбираем один из вариантов: "Full UserDump" или "Mini UserDump".

DebugDiag Dump.PNG


Дампы сохраняются в каталог %DebugDiag%\Logs\Misc


Системные требования

  • Клиент: Windows XP и выше (на Windows 2000 скорее всего работать не будет).
  • Сервер: Windows Server 2003 и выше.

Внимание!!!

В большинстве случаев для создания дампа необходимо предварительно отключить самозащиту антивируса Dr.Web.

Ссылки