Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
Программа для автоматической смены обоев на рабочем столе компьютера. BioniX Wallpaper предоставляет пользователю возмож...
Программа для запуска на одном компьютере нескольких виртуальных операционных систем. VirtualBox - это удобный и функцио...
AutoHotkey - программа позволяет создавать горячие клавиши. А также переназначить команды, которые вводятся с клавиатуры...
CheMax - очень большая база данных с кодами для игр. База CheMax является прямой наследницей базы программы ChEaTs, кото...
iCash – это программа, которая позволяет вам отслеживать все ваши доходы, расходы, кредиты, долги, а также банковские оп...
OSzone.net Microsoft BSOD Советы и рекомендации BlueScreenView – утилита для определения драйвера, вызвавшего BSOD RSS

BlueScreenView – утилита для определения драйвера, вызвавшего BSOD

Текущий рейтинг: 4.15 (проголосовало 832)
 Посетителей: 235160 | Просмотров: 313464 (сегодня 2)  Шрифт: - +

Ко мне обратилось сразу несколько человек с вопросом, стоит ли вместо 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 выделяет еще и несистемные, которые также могут оказаться причиной проблемы.

Резюме

Я вполне могу порекомендовать BlueScreenView для быстрого анализа дампов памяти, создающихся при BSOD. Однако утилита не всегда однозначно указывает на проблемный драйвер в верхней панели. Поэтому, вместо того чтобы любоваться в нижней панели картинкой синего экрана, лучше включить для нее отображение драйверов и изучить их список. В неочевидных случаях лучше также провести анализ с kdfe, а для глубокого анализа без WinDbg все равно не обойтись.

Автор: Вадим Стеркин  •  Иcточник: Блог  •  Опубликована: 21.09.2009
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
09.01.2010/20:54  mymka

Mini010910-01.dmp 09.01.2010 22:31:30 UNEXPECTED_KERNEL_MODE_TRAP 0x0000007f 0x0000000d 0x00000000 0x00000000 0x00000000 ntoskrnl.exe ntoskrnl.exe+aff1 Системный модуль ядра NT Операционная система Microsoft® Windows® Корпорация Майкрософт 5.1.2600.3610 (xpsp_sp2_gdr.090804-1412) 32-бит

чего делать помогите плиззз!!!
15.01.2010/02:59  Vadikan

Все "помогите" бесполезны без http://forum.oszone.net/thread-81449.htm
Комментарии отключены. С вопросами по статьям обращайтесь в форум.