среда, 4 декабря 2013 г.

Как проанализировать аварийный дамп памяти Windows?

В последнее время я все чаще сталкиваюсь с тем, что даже опытные сервисные инженеры, админы и ремонтники не знают что такое дам памяти и для чего он нужен.
Ремонт компьютера все чаще сводится к переустановке видновс без выяснения причин неисправности и падения. Поэтому эта статья я надеюсь станет не только наглядным руководством, но и заставит задуматься, так ли уж необходима переустановка ОС, ведь как говорится, "Каждая переустановка ОС - это ваш проигрыш".
Итак.
Для анализа аварийных дампов памяти существует множество программ, например, DumpChk, Kanalyze, WinDbg.
Рассмотрим анализ аварийных дампов памяти с помощью программы WinDbg (входит в состав Debugging Tools for Windows).

 

Windows: как проанализировать аварийный дамп памяти?

Установка средств отладки
– посетите веб-узел http://www.microsoft.com/whdc/devtools/debugging/default.mspx корпорации Microsoft;
– загрузите Debugging Tools for Windows, например, для 32-битной версии Windows это можно сделать на странице Download the Debugging Tools for Windows;
– после скачивания запустите установочный файл;
– в окне Debugging Tools for Windows Setup Wizard нажмите Next;
– в окне с лицензионным соглашением установите переключатель I agree –> Next;
– в следующем окне выберите тип установки (по умолчанию средства отладки устанавливаются в папку \Program Files\Debugging Tools for Windows–> Next –> Install –> Finish;
– для интерпретации файлов дампа памяти необходимо также загрузить пакет символов (Symbol Packages, так называемые символьные файлы, или файлы символов отладки) для своей версииWindows, – зайдите на страницу Download Windows Symbol Packages;
– выберите свою версию Windows, скачайте и запустите установочный файл Symbol Packages;
– в окне с лицензионным соглашением нажмите Yes;
– в следующем окне выберите папку для установки (по умолчанию предлагается \WINDOWS\Symbols–> OK –> Да;
– в окне Microsoft Windows Symbols с сообщением «Installation is complete» нажмите OK.
  
Windows: как проанализировать аварийный дамп памяти?
***
Как пользоваться программой WinDbg для анализа аварийных дампов памяти
– запустите WinDbg (по умолчанию устанавливается в папку \Program Files\Debugging Tools for Windows);
– выберите меню File –> Symbol File Path…;
– в окне Symbol Search Path нажмите кнопку Browse…;
– в окне Обзор папок укажите расположение папки Symbols (по умолчанию – \WINDOWS\Symbols) –> OK –> OK;
– выберите меню File –> Open Crash Dump… (или нажмите Ctrl + D);
– в окне Open Crash Dump укажите расположение Crash Dump File (*.dmp) –> Открыть;
– в окне Workspace с вопросом «Save information for workspace?», установите флажок Don't ask again –> No;
– в окне WinDbg откроется окно Command Dump <путь_и_имя_файла_дампа> с анализом дампа;
– просмотрите анализ дампа памяти;
– в разделе «Bugcheck Analysis» будет указана возможная причина краха, например, «Probably caused by: smwdm.sys (smwdm+454d5)»;
– для просмотра детальной информации нажмите ссылку «!analyze -v» в строке «Use !analyze -v to get detailed debugging information»;
– закройте WinDbg;
– используйте полученную информацию для устранения причины неисправности.
Например, на следующем скриншоте указана возможная причина неисправности – файл nv4_disp.dll драйвера видеокарты:

 Примечание
1. В символьных файлах определены имена внутренних функций и переменных соответствующего модуля, – эта информация необходима для анализа аварийного дампа. По возможности следует скачать и установить все символьные файлы. Символьные файлы специфичны для конкретных версий ОС и для конкретных пакетов исправлений, поэтому необходимо убедиться, что они соответствуют версии ОС и версии SP.
2. Как правило, для выявления причины неисправности вполне достаточно даже малого дампа памяти.

3. Хотя документация Microsoft по отладке Windows постоянно совершенствуется, она всё еще ориентирована на разработчиков драйверов устройств.

источник: http://netler.ru/pc/dump-2.htm