Случаи с BSoD: ищем подсказки в аварийном дампе и в Сети
Мои
Отладка сбоя начинается со скачивания пакета Debugging Tools for Windows (это часть
Следующим шагом является загрузка аварийного дампа в отладчик с помощью команды Open Crash Dump меню File. Место хранения системой файлов дампа зависит от того, какую версию Windows вы используете, и является ли она серверной или клиентской. Есть простое правильно, которое поможет вам найти файл дампа, согласно которому первое, что вам следует сделать, это проверить файл с именем Memory.dmp в папке SystemRoot (обычно C:\Windows); если вы не нашли его, посмотрите в папку %SystemRoot%\Minidumps и загрузите новейшие файлы минидампа (предполагается, что вы хотите отладить последний сбой системы).
Когда вы загрузите файл дампа в отладчик, он использует эвристику, что попытаться определить причину сбоя системы. Он укажет вам на возможную причину, отобразив строку "Probably caused by:" с именем драйвера, компонента Windows или типа аппаратной ошибки. Вот пример, который правильно идентифицирует проблемный драйвер, ставший причиной сбоя, myfault.sys:
В моих презентациях я часто показываю вам, что нажатие на гиперссылку !analyze -v предоставит вам больше информации, включая стек ядра потока, который выполнялся, когда произошел сбой. Это часто бывает полезно, когда эвристика не может точно определить причину, поскольку вы можете увидеть ссылку на сторонний драйвер, который, будучи активным во время сбоя, может оказаться его причиной. Проверка на наличие новой версии сторонних драйверов, обнаруженных во время этого базового анализа, часто решает проблему. Я описал случай, который был решен с помощью этого шаблона анализа в моей предыдущей статье,
Если вы не нашли никаких подсказок, попробуйте выполнить поиск в Сети по текстовому описанию кода сбоя (его можно получить с помощью команды !analyze -v) и любых ключевых слов, которые описывают машину или программное обеспечение. Например, один администратор столкнулся с периодическими сбоями в работе серверной фермы Citrix. Он не знал, что мог посмотреть файл аварийного дампа, пока не посмотрел презентацию из серии "Case of the Unexplained". После того, как он вернулся в свой офис с конференции, он открыл дампы с нескольких проблемных систем. Анализ дампов привел к тому самому классическому выводу для большинства случаев сбоя, что драйвер не освободил память ядра, связанную с удаленными пользовательскими сеансами, когда это было необходимо:
В надежде, что поиск в Сети может дать ему подсказку, он ввел "session_has_valid_pool_on_exit and citrix" в поисковую строку браузера. К его изумлению, самая первая ссылка вела на страницу базы знаний Citrix с описанием решения именно этой проблемы, и в той статье даже был скриншот точно такого же окна отладчика с результатами анализа, которые он видел на своей системе:
После загрузки и установки исправления ферма серверов стала работать нормально.
В другом примере администратор столкнулся с тремя сбоями сервера на протяжении нескольких дней. К сожалению, анализ не указал на решение, а просто сообщил, что сбой, вероятно, связан с тем, что некий таймер не работал на протяжение ограниченного промежутка времени:
Как и в предыдущем случае, администратор ввел текст сбоя в поисковую строку и, к его облегчению, самая первая ссылка результатов поиска вела к описанию решения этой проблемы:
После установки исправления, сервер больше не сталкивался со сбоями.
Эти случаи показывают нам, что диагностика проблем заключается в нахождении подсказок, которые приводят вас к решению проблемы, и эти подсказки могут стать очевидными, если приложить для их нахождения немного усилий и чуточку креативности. В конце концов, не важно, как и где вы найдете эти подсказки, если в итоге вы решите вашу проблему.
Источник:
Перевод: Dazila
По теме
- Устраняем конфликт подписей дисков
- Дело о загадочных звуках
- Дело об ооооочень долгом входе в систему
- Дело об ошибке службы установки
- Дело о загадочных перезагрузках
- Дело о зависшей программе запуска игры
- Анализируем вирус Stuxnet с помощью инструментов Sysinternals (ч.3)
- Анализируем вирус Stuxnet с помощью инструментов Sysinternals (ч.2)
- Анализируем вирус Stuxnet с помощью инструментов Sysinternals (ч.1)
- Дело о нерабочей системе