Upd. 11-Mar-2019. Вместо BlueScreenView я рекомендую утилиту MiniDumper, поскольку она проводит более глубокий анализ и точнее определяет причину проблемы.
Ко мне обратилось сразу несколько человек с вопросом, стоит ли вместо Debugging Tools for Windows использовать для анализа дампов памяти относительно недавно вышедшую утилиту BlueScreenView. Бесплатные утилиты NirSoft (автор – Nir Sofer) хорошо известны своей полезностью, удобством и продуманностью функционала. И BlueScreenView действительно очень удобна для определения проблемного драйвера.
BlueScreenView
По умолчанию BlueScreenView ищет дампы в папке %systemroot%\Minidump, но можно настроить и собственную папку (Options –> Advanced). Для найденных драйверов утилита отображает:
- В верхней панели – название файла, дату создания, название стоп-ошибки, код ошибки, параметры, а также драйвер, предположительно вызвавший проблему (Caused By Driver).
- В нижней панели – (в зависимости от настроек в Options –> Lower Pane Mode) все драйверы, загруженные во время ошибки, или только драйверы, найденные в стеке. Среди всех драйверов — на розовом фоне отображаются предположительно вызвавшие проблему драйверы. Также, утилита может отображать синий экран, очень похожий на тот, который все так любят.
Важно! Я должен отметить, что при определении драйвера не нужно полагаться только на имя файла в столбце Caused by Driver. Следует рассмотреть драйверы в нижней панели (или только выделенные розовым цветом, если включено отображение всех драйверов), в первую очередь обращая внимание на несистемные драйверы.
Утилита очень быстро работает, а также обладает дополнительными возможностями по копированию отдельных строк и созданию HTML-отчетов.
BlueScreenView vs. kdfe.cmd / WinDbg
В приведенном выше скриншоте виновником проблемы являлся не USBPORT.SYS (системный драйвер), aclaudsl.sys (драйвер модема). Именно на последний указал анализ kdfe, полагающeгося на Debugging Tools for Windows. И тут я перехожу к вопросу, насколько корректен анализ утилиты по сравнению с kdfe / WinDbg.
Честно говоря, я не являюсь экспертом по отладке, но одно очевидно сразу: в отличие от WinDbg, BlueScreenView не использует для анализа символы, загружаемые с сайта Microsoft. Я поинтересовался у автора программы, насколько корректным считает он анализ в этих условиях. И вот что он ответил (в сокращении):
Вне зависимости от того, используете вы BlueScreenView или WinDbg с символами, невозможно достичь абсолютной точности в определении драйвера.
Я не думаю, что символы помогли бы моей утилите произвести более точный анализ. В символах содержится дополнительная информация, которая может помочь профессионалам определить точную причину — например, функцию внутри драйвера, вызвавшую ошибку. Однако определение драйверов, вовлеченных в ошибку, может быть выполнено на основе адресов памяти без всяких символов.
Я решил проверить, насколько результаты BlueScreenView совпадают с kdfe. Поскольку в материале нет недостатка, я взял навскидку полтора десятка дампов с наиболее распространенными кодами (0x8E, 0x50, 0xD1 и 0x0A). Лишь в одном случае результаты отличались – BlueScreenView указала на системный драйвер, а kdfe – на драйвер Outpost Firewall.
Тестирование также выявило, что далеко не всегда BlueScreenView верно указывает на проблемный драйвер в верхней панели, но во всех случаях кроме одного, оговоренного выше, проблемный драйвер был обозначен в нижней панели. Таким образом, kdfe понятнее указывает на проблемный драйвер. Однако наблюдалась и обратная картина – иногда kdfe однозначно указывает на системный драйвер, в то время как BlueScreenView выделяет еще и несистемные, которые также могут оказаться причиной проблемы.
Резюме
До появления утилиты MiniDumper рекомендовал BlueScreenView для быстрого анализа дампов памяти, создающихся при BSOD. Однако утилита не всегда однозначно указывает на проблемный драйвер в верхней панели. Поэтому, вместо того чтобы любоваться в нижней панели картинкой синего экрана, лучше включить для нее отображение драйверов и изучить их список. Для глубокого анализа без WinDbg все равно не обойтись, а утилита MiniDumper автоматизирует этот процесс.
Руслан Пугачёв
Спасибо!
Полезный инструмент. Помогло.
Виталий Кузнецов
Вот чего я так долго ждал, простой и понятной программы по определению причин BSOD.
Someone on Windows Live
спасибо огромное,давно искал подобную программку!
Bulatbul
В результате как определить из за какого файла выходит BSOD ? Если приводится несколько файлов выделенных розовым цветом?
Vadim Sterkin
Bulatbul, а при чем тут розовый цвет? Главный предполагаемый драйвер указан в верхней панели — читайте статью :) Ну и ничто не мешает вам использовать kdfe в конце концов.
евгений
выдает 0x000000f4 .что это в чем проблема ?ответа ненашел нигде
fan
Так ведь и Debugging Tools for Windows может определять проблемный драйвер и без символов, которые кстати еще нужно загружать отдельно, и уж если и проводить сравнение, то нужно было сначала сравнить Debugging Tools for Windows (без использования символов) и BlueScreenView, а потом уже Debugging Tools for Windows (с использованием символов) и BlueScreenView.
Vadim Sterkin
Так ведь вопрос был в контексте использования WinDbg с символами против BSV без символов. Какой смысл использовать WinDbg без символов, если есть возможность их загрузить?
fan
Их не всегда можно загрузить — размер (не у всех же безлимитный тариф).
У меня вот вопрос назрел: можно ли проанализировать дамп памяти, созданный, например в ОС другой разрядности, другой, более старой ОС или более новой ОС (дамп от WinXP x32 анализировать в Win7 x32, дамп от Win7 x64 анализировать в Win7 x32)?
Vadim Sterkin
Можно.
Nursulu
Помогите! Я видео включаю и в интернете и просто на компьютере, у меня сразу компьютер выключается появляется синий экран и там на английском чтото написано! Я эту программу скачала ну там во втором отделе есть две строки розового цвета а что делать с ними?
и как мне можно видео смотреть?
Vadim Sterkin
Вам сюда.