Форум компьютерщиков !

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум компьютерщиков ! » Как с помощью дампа памяти определить драйвер, вызывающий BSOD


Как с помощью дампа памяти определить драйвер, вызывающий BSOD

 

Как с помощью дампа памяти определить драйвер, вызывающий BSOD

Причиной критических ошибок Windows, сопровождаемых синими экранами (BSOD), часто является драйвер – вновь установленный или поврежденный. Определив, какой именно драйвер служит причиной ошибки, можно приступать к устранению проблемы: обновить драйвер, откатиться к более ранней версии, переустановить или удалить приложение, установившее драйвер и т. д. Не всегда название драйвера отображается на синем экране. Однако существует очень простой способ, позволяющий с помощью дампа памяти определить проблемный драйвер за пару минут.

1.Включение записи дампов памяти

Сначала нужно убедиться, что запись дампов включена. Для этого нужно открыть свойства системы, нажав комбинацию клавиш Win+Pause, [в Vista щелкнуть ссылку Дополнительные параметры системы], перейти на вкладку Дополнительно,  и наконец нажать кнопку Загрузка и восстановление.

Малых дампов памяти должно быть достаточно для наших целей.

Обратите внимание на путь к папке, куда они будут сохраняться при возникновении критической ошибки.

Теперь вы можете запаковать файл в архив, прикрепить его к сообщению в форуме и подождать, пока вам кто-то сообщит название проблемного драйвера :) Но вы можете сделать это самостоятельно, не прилагая больших усилий.

Шаг 2 – Загрузка и установка диагностических средств

Это не так страшно, как можно подумать :)

  1. Загрузите и установите Debugging Tools for Windows (ссылки на пакеты MSI вы найдете здесь). Они также входят в состав веб-установщика Windows SDK, где после запуска в нужно выбрать Debugging Tools:
    • в разделе Common Utilities для установки в 32-разрядной ОС
    • в разделе Redistributable Packages для установки в 64-разрядной ОС (будут загружены все три версии – x86, x64, Itanium)
  2. Загрузите сценарий (kdfe.cmd), который написал Александр Суховей и опубликовал на ресурсе sysadmins.ru (поскольку живую ссылку мне там найти не удалось, предлагаю свою). Распакуйте архив в любую папку.
    Примечание. В случае нестандартного расположения папки Program Files вам может потребоваться указать в kdfe.cmd путь к папке, в которую установлены средства Debugging Tools for Windows. Используйте переменную dbgpath в строке 41.

Шаг 3 – Анализ дампа памяти

Теперь все сводится к выполнению одной команды. Откройте командную строку и перейдите в папку, в которую вы распаковали kdfe.cmd. Запустите файл, указав в качестве параметра путь к файлу дампа памяти (в примере ниже файл называется Mini1110307-01.dmp)

1
kdfe.cmd "%systemroot%\Minidump\Mini1110307-01.dmp"

Через минуту вы увидите результат.

Драйвер, послуживший причиной ошибки, определен!

 

Источник


Вы здесь » Форум компьютерщиков ! » Как с помощью дампа памяти определить драйвер, вызывающий BSOD