Это маленькая заметка о том, какие шаги необходимо выполнить для получения первичной информации об исполняемом файле, ставшем возможной причиной остановки работы операционной системы Windows - Blue Screen of Death (BSOD). По умолчанию ОС Windows настроена таким образом, что при возникновении ошибки приводящей к полной остановке работы системы, автоматически создаётся аварийный дамп памяти в виде файла MEMORY.DMP. Чтобы получить доступ к информации из этого файла, нам потребуется набор отладочных утилит Debugging tools for Windows из состава Windows Software Development Kit.
Переходим по ссылке WDK and WinDbg downloads и скачиваем онлайн-инсталлятор/загрузчик Standalone Debugging Tools for Windows (WinDbg) – файл sdksetup.exe. Запускаем инсталлятор и выбираем вариант установки…
На следующем шаге выбора компонент к установке (Select the features you want to install) отмечаем только то, что нам нужно - Debugging tools for Windows и нажимаем Install
В указанную на первом экране папку из Интернета будет загружен и установлен набор утилит.
После окончания установки находим в меню “Пуск” или на стартовом экране в группе ярлыков Windows Kits утилиту WinDbg и запускаем её с правами администратора
Если по какой-то причине ярлык найти не удалось, то можно запустить исполняемый файл из каталога установки - С:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe
В главном меню программы WinDbg выбираем пункты File > Symbol File Path. В открывшееся окно вставляем строку определяющую пусть к локальному каталогу символьного кэша и его онлайн-источнику:
SRV*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols
Сохраняем настройки, выбрав в главном меню пункты File > Save Workspace
Открываем файл дампа памяти, выбрав в меню File > Open Crash Dump...
Выбираем файл MEMORY.DMP (по умолчанию расположен в каталоге C:\Windows) и нажимаем Open
Появится информация о том, какой именно исполняемый модуль стал причиной остановки работы системы. Щёлкнув по гиперссылке !analyze-v можно получить более развернутую информацию о состоянии системы на момент возникновения стоп-ошибки.
Туже самую информацию можно получить и с помощью командной строки используя примерно следующую последовательность команд:
cd /d "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\" kd -z "D:\DOWNLOADS\VM05\MEMORY.DMP" .logopen C:\Debuglog.txt .sympath srv*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols
В этом примере вся информация о разборе дампа будет выгружена в читаемом виде в файл C:\Debuglog.txt
Источники информации:
Добавить комментарий