- Анализ аварийных дампов Windows
- Содержание
- Анализ аварийного дампа утилитой BlueScreenView
- Анализ аварийного дампа отладчиком WinDbg
- Установка Debugging Tools for Windows (WinDbg)
- Настройка отладочных символов
- Анализ аварийного дампа
- Получение информации о проблемном драйвере
- Аппаратные причины возникновения критических ошибок
- Диагностика неисправностей диска
- Диагностика неисправностей памяти
- Настройка параметров сохранения аварийного дампа
- Чем открыть файл дампа памяти Windows MEMORY.DMP
- Просмотр и анализ файла минидампа.
- Просмотр полного дампа памяти MEMORY.DMP.
- Установка и настройка WinDBG.
- Просмотр и анализ файла MEMORY.DMP.
- Синий экран смерти. Анализ и расшифровка дампа памяти при BSOD
- Анализ дампа памяти. Расшифровываем minidump.
- Комментариев: 8
- Как прочитать аварийный дамп памяти Windows (MEMORY.DMP)?
- Установка утилиты Debugging Tools for Windows из набора Software Development Kit (SDK)
Анализ аварийных дампов Windows
В случае критической ошибки система останавливает свою работу, отображает синий экран смерти (BSOD), информация об ошибке и содержимое памяти сохраняется в файле подкачки. При последующей загрузке системы, на основе сохраненных данных, создается аварийный дамп c отладочной информацией. В системном журнале событий создается запись о критической ошибке.
Если критическая ошибка возникла на ранней стадии загрузки системы или в результате ошибки произошел отказ дисковой подсистемы, аварийный дамп сохранен не будет.
Аварийный дамп может быть проанализирован с помощью утилиты BlueScreenView или системного отладчика WinDbg (Debugging Tools for Windows).
Содержание
Анализ аварийного дампа утилитой BlueScreenView
Простейшим инструментом для анализа аварийных дампов является утилита BlueScreenView от NirSoft.
BlueScreenView сканирует папку с минидампами и отображает информацию по найденным отказам.
По каждому отказу отображается дата, данные об ошибке и драйвер, который предположительно вызвал отказ.
В нижней части окна отображается список загруженных в системе драйверов. Модули, к которым выполнялось обращение в момент отказа, выделены цветом, на них следует обратить особое внимание, они могут быть причиной отказа.
По двойному клику отображается дополнительная информация.
Анализ аварийного дампа отладчиком WinDbg
С помощью WinDbg из аварийного дампа можно вытащить более детальную информацию, включая расшифровку стека.
Установка Debugging Tools for Windows (WinDbg)
Microsoft распространяет WinDbg только в составе SDK, загрузить веб-установщик можно на странице загрузки.
Для анализа аварийных дампов установка SDK не требуется. Скачать Debugging Tools for Windows (WinDbg) отдельным пакетом можно здесь.
После установки, корректируем ярлык для запуска WinDbg. В свойствах ярлыка, устанавливаем флажок запуска от имени администратора. Также, в качестве рабочей папки, задаем: %SystemRoot%\Minidump.
Настройка отладочных символов
Отладочные символы содержат символические имена функций из исходного кода. Они необходимы для расшифровки и интерпретации аварийного дампа.
При первом запуске WinDbg, необходимо указать путь к отладочным символам, для этого открываем меню File, Symbol File Path, или используем комбинацию Ctrl+S.
Следующей строкой включаем загрузку отладочных символов из сети, задаем локальный путь для сохранения файлов и адрес для загрузки из интернета:
Анализ аварийного дампа
В меню выбираем File, Open Crash Dump, или нажимаем Ctrl+D.
Указываем путь к дампу %SystemRoot%\MEMORY.DMP или %SystemRoot%\Minidump\файл.dmp.
Загрузка отладочных символов из интернета может занять некоторое время.
Для получения детальной информации выполняем команду:
Дебаггер сам вам предложит ее выполнить, достаточно навести указатель мыши на ссылку и кликнуть.
В результате получаем следующий вывод:
Получение информации о проблемном драйвере
Если удалось обнаружить драйвер, в котором возникла ошибка, имя драйвера будет отображено в полях MODULE_NAME и IMAGE_NAME.
Чтобы получить путь к файлу и прочую информацию, щелкаем по ссылке на модуль:
Если полный путь к драйверу не указан, по умолчанию используется папка %SystemRoot%\system32\drivers.
Находим указанный файл, и изучаем его свойства.
Обновляем проблемный драйвер.
Аппаратные причины возникновения критических ошибок
Источником критических ошибок нередко бывают неисправности в дисковой подсистеме, или в подсистеме памяти.
Диагностика неисправностей диска
В случае ошибок дисковой подсистемы, аварийный дамп может не сохраняться.
Чтобы исключить проблемы с диском, проверяем системный журнал событий на наличие ошибок чтения и записи на диск.
Проверяем параметры S.M.A.R.T жесткого диска, получить их можно, например, с помощью программы SpeedFan.
Особое внимание обращаем на параметры: «Current Pending Sector Count» и «Uncorrectable Sector Count», ненулевые значения этих параметров сигнализируют о неисправности диска.
Ненулевое значение параметра: «UltraDMA CRC Error Count», сигнализирует о проблеме с SATA-кабелем.
Подробнее о параметрах S.M.A.R.T. читаем в статье Википедии.
Диагностика неисправностей памяти
Проблемы с памятью нередко могут стать причиной самых разнообразных глюков, включая различные синие экраны, зависания, аварийное завершение программ, повреждение реестра, повреждение файловой системы и данных.
Выявить проблемы с памятью можно с помощью утилиты Memtest86+.
Загружаем образ по ссылке, записываем на диск, загружаемся с диска, запускается тест.
Начиная с Windows Vista, в системе имеется свой тест памяти. Для его запуска нажимаем «Пуск», в строке поиска набираем «памяти«, выбираем «Средство диагностики памяти Windows».
Проблемы с памятью в некоторых случаях могут быть устранены обновлением BIOS.
Настройка параметров сохранения аварийного дампа
Для изменения параметров сохранения аварийного дампа нажимаем кнопку «Пуск», щелкаем на «Компьютер» правой кнопкой мыши, в контекстном меню выбираем «Свойства». В окне «Система» слева выбираем «Дополнительные параметры системы», в группе «Загрузка и восстановление» нажимаем кнопку «Параметры».
Чем открыть файл дампа памяти Windows MEMORY.DMP
Многие знакомы с «синим экраном смерти» или BlueScreen. Синий экран появляется когда в работе Windows возникает критическая ошибка, что приводит к остановке работы операционной системы. При этом операционная система создает дамп памяти, в который записывает отладочную информацию и добавляет запись в журнал событий.
В Windows существуют два типа дампа памяти — малый дамп (minidump) и полный дамп.
Minidump находится в директории C:\Windows\Minidump и его название имеет примерно такой вид Mini051819-01.dmp.
Полный дамп располагается в папке C:\Windows и называется MEMORY.DMP.
Просмотр и анализ файла минидампа.
Для просмотра и анализа файла минидампа можно воспользоваться достаточно простой и удобной утилитой BlueScreenView от Nirsoft, которую можно скачать с официального сайта https://www.nirsoft.net/utils/blue_screen_view.html .
Для просмотра минидампа достаточно перетащить файл в окно программы и тут же загрузится отладочная информация. Красным будут подсвечены модули вызвавшие ошибку. В случае представленном на скриншоте выше это был драйвер tcpip.sys.
Щелкнув по имени файла минидампа можно запустить поиск решения в Google.
Но эта программа не способна обработать полный дамп памяти Windows — memory.dmp.
Просмотр полного дампа памяти MEMORY.DMP.
Чтобы посмотреть содержимое полного дампа памяти необходимо открыть файл MEMORY.DMP при помощи утилиты WinDBG, которая входит в пакет Microsoft Windows SDK. Скачать эту утилиту можно с официального сайта Майкрософт по этой ссылке https://developer.microsoft.com/ru-ru/windows/downloads/windows-10-sdk .
Установка и настройка WinDBG.
Запускаем установку пакета Windows Software Development KIT и на этапе выбора компонентов отмечаем «Debugging Tools for Windows».
При первом запуске WinDBG необходимо выполнить настройку сервера отладочных символов.
1. Переходим в меню File > Symbol File Path и вставляем строку:
где C:\symbol_cache — это директория куда будут загружаться символы.
2. Сохраняем настройку File > Save Workspace.
Просмотр и анализ файла MEMORY.DMP.
Открываем файл MEMORY.DMP: File > Open Crash Dump. Начинается процесс загрузки отладочных символов, в этот момент внизу будет видна надпись: Debugee not connected.
По окончанию загрузки появится подсказка: «для анализа этого файла запустите !analize-v».
Щелкаем по надписи !analize-v и запускается анализ дампа. В этот момент в строке состояние будет надпись *BUSY*.
По завершении обработки файла дампа памяти Windows нам необходимо найти среди полученной информации модуль, который вызвал сбой в работе. Найти сбойный модуль можно в строках MODULE_NAME и IMAGE_NAME.
В моем случае произошел сбой в работе драйвера srv.sys. В строке MODULE_NAME имя представлено в виде ссылке, щелкнув по которому можно получить информацию о модуле.
После выявления драйвера послужившего причиной сбоя в работе Windows и появления «Синего экрана смерти» необходимо попытаться обновить его.
Большинство проблем с драйверами решаются их обновлением.
Синий экран смерти. Анализ и расшифровка дампа памяти при BSOD
Windows вывалился в синий экран смерти. Что делать? Однозначного ответа на этот вопрос нет, так как вариантов лечения и расшифровки синих экранов смерти великое множество. Попробую рассказать как выявить причину синего экрана и диагностировать ошибку с вероятностью, близкой к 100%, а гадание оставим синоптикам.
На прошлой неделе ремонтировал компьютер на котором вылетал синий экран смерти с разными ошибками, чаще всего BAD_POOL_CALLER — stop 0x000000c2. Диагностируется данная ошибка довольно сложно, на его примере и попытаюсь рассказать как узнать причину возникновения по синего экрана смерти.
В процессе диагностики не обойтись без анализа специального файла minidump (дамп памяти) системы. Такие файлы создаются каждый раз после сбоя работы системы и содержат информацию о том, что к этому привело. Обычно все файлы minidump при BSOD сохраняются в папку C:\Windows\Minidump. Кроме того, имя файла содержит текущую дата его создания, чтобы не путаться когда возникла ошибка, если файлов много.
Проверьте, включено ли на вашем компьютере создание файлов minidump при сбое системы.
Анализ дампа памяти. Расшифровываем minidump.
Нам понадобится установить Debugging Tools for Windows и скачать утилиту непосредственно для расшифровки файла дампа kdfe.cmd
Распаковываем скрипт kdfe.cmd и кладем его непосредственно в корень диска диска C:\ или создаем каталог C:\dump. Тут уж как вам удобнее. В командной строке пишем:
Выведется список всех минидампов, из папки C:\Windows\Minidump\ и скрипт предложит указать какой именно дамп будем анализироваться, либо можно самостоятельно выбрать требуемый дамп при запуске скрипта:
На мой взгляд первый вариант удобнее. Пример того что выдал скрипт при анализе одного из дампов памяти:
Еще одно доказательство что лучше избавляться от этих дебильных Амиго и майлру агентов. Таким же образом можно выявить и другие ошибки, приводящие к BSOD.
Существует еще одна интересная утилитка BlueScreenView, часто встречается на загрузочных флешках-реаниматорах, о которой я уже писал ранее на страницах блога, но на мой взгляд менее понятная для новичков.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Комментариев: 8
Спасибо за детальное описание. Помогло.
Не запускается kdfe.cmd , пишет — «Ошибка в синтаксисе команды»
Просто надо изменить эту утилиту.Открыть с помощью блокнота и изменить путь Debudding Tools.Там на какой то строке меняешь в двух-четырех местах вместо program files как у себя, например program files(x86).
Не помогло так как в cmd не находит выше написанное
У меня тоже была подобная ошибка при запуске
Сам догадался посмотреть сценарий и изменить
строку в файле kdfe.cmd
Вот что надо изменить и будет работать:
Я в таких случаях переустанавливал, пока диск не истерся до нечитаемого состояния. Потом линуха поставил.
98 % летит видяшник , подключитесь к встроенной в мамку.. и станет ясно ! удачи ..мужики !
Для начала, надо переписать саму ошибку, то есть например хх. 57 или что то типа того, бывают такие поломки как, полностью выход из строя жесткого диска, в таком случае никакой дамп вы уже не прочтете, у меня так было, поломка ssd диска, там было что то типа хх. 069, благо был рядом второй комп, нашел в инете расшифровку с разными ошибками и поломками, и так быстро установил причину синего экрана, после установки другого диска с системой, пока ssd был в ремонте, проблема исчезла сама собой.
Как прочитать аварийный дамп памяти Windows (MEMORY.DMP)?
В операционной системе Windows, при аварийном завершении работы ОС, автоматически создается аварийный дамп памяти, он сохраняется в системном каталоге Windows в файле MEMORY.DMP (%SystemRoot%\MEMORY.DMP). Этот файл помогает определить причину сбоя в работе операционной системы и определить процесс, ставшив возможной причиной остановки работы ОС. Файл дампа памяти может быть размером в несколько гигабайт, поэтому для его анализа требуется использование специальных инструментов.
В этой статье описываются шаги, которые следует предпринять для анализа файла аварийного дампа памяти MEMORY.DMP.
Чтобы прочитать файл MEMORY.DMP потребуется специальная утилита: Debugging Tools for Windows (WinDbg), которая входит в состав Windows 10 SDK, ее можно скачать по ссылке: Windows 10 SDK , как в виде инсталлятора, так и в виде ISO файла.
Установка утилиты Debugging Tools for Windows из набора Software Development Kit (SDK)
1. Запустить установочный файл на компьютере на котором будет проводиться анализ аварийного дампа памяти MEMORY.DMP
2. Выбрать путь установки и 2 раза нажать Next
3. Принять лицензионное соглашение
4. В окне выбора набора устанавливаемых утилит выбрать Debugging Tools for Windows (остальные пункты для анализа дампа памяти не понадобятся) и нажать Install
5. По завершении установки нажать CloseУтилита Debugging Tools for Windows установлена.