Информацию о проблемах, возникших при работе с ОС Windows, помогают узнать сведения на экране или файлы в памяти – дампы. В них хранятся данные о текущем состоянии процессора, ядра и других компонентов. Сохранение этих сведений нередко отключено в Виндовс 10, поэтому пользователи самостоятельно настраивают их автоматическое появление. Разберемся, для каких целей необходим дамп памяти в ОС Windows 10, какие типы бывают, как установить.
Для чего он нужен
Данные «оперативки» и материалы, имеющие отношение к критической ошибке, попадают в файл. При запуске ОС появляется аварийный дамп, где сохраняется запись отладочной информации. Сбой блокирует функционирование ОС, поэтому dump – единственный способ получения данных о ней. Чем точнее в нем будет описана проблема, тем проще пользователю проанализировать ситуацию и найти способы решения по устранению недочетов в работе ОС.
Важно получить информацию на момент сбоя. Создание дампа памяти помогает в этом. Аварийный dump применяется с целью диагностики, позволяет выявить и устранить возникшую ошибку программы.
Как работает опция? Во время запуска ОС создает и сохраняет карту секторов, которые занимает на диске файл подкачки. При сбое в работе проверяется целостность этой карты, а также компонентов структуры. Если они не нарушены, то применяются опции, которые сохраняют образ памяти, записывая данные с использованием сохраненной секторной карты.
При следующем запуске ОС диспетчер инициализирует данные, проверяет наличие в нем файлов .dmp. Далее содержимое копируется из него в файл аварийного дампа, делаются соответствующие записи.
Как включить функцию дамп памяти на Windows 10 и настроить ее
Чтобы включить опцию, пользователю потребуется выполнить ряд последовательных действий. В инструкции нет ничего сложного, с ней справится даже новичок в этом деле:
- Тапнуть кнопкой мышки по значку «Пуск».
- В открывшемся окошке выбрать раздел «Система».
- Далее выбрать раздел «Дополнительные параметры».
- В открывшемся окне выбрать «Параметры».
- Настроить аварийный дамп.
Желательно ставить галочки напротив значений, связанных с созданием журнала, сохранением информации о системе. Данные при этом могут достигать нескольких сотен гигабайт. Поэтому целесообразно отметить маркером «Заменить существующий файл дампа».
Зная все о неполадках и причинах возникновения BSoD, будет легче исправить положение и вернуть рабочий режим системы.
Типы аварийных дампов памяти
В Виндовс предусмотрены различные типы .dmp. К основным видам относятся:
- Мини-дамп памяти – файл с минимумом данных о BSoD, процессоре, драйверах, которые работали во время появления критической ошибки. Весит 256 Кб, для извлечения информации требуется установка дополнительной утилиты, например, Blue Screen View. Minidump преимущественно пользуются непрофессионалы.
- Дамп памяти ядра – тоже имеет небольшие размеры, но содержит более подробную информацию, чем m В нем сохраняется информация о памяти ядра, процессора или всей ОС.
- Полный дамп памяти – копирует оперативку системы. Его размер соответствует объему оперативки, это одновременно является его плюсом и, в то же время, существенным минусом. Его размеры могут оказаться огромными, требуя невероятных размеров памяти устройства. Он недоступен на устройствах с оперативной системой 32 бита.
- Автоматический дамп памяти – новый вид, который разработчики впервые ввели в Виндовс 8. Система самостоятельно решает, какой dump записывать, учитывая особенности сбоя, частоту его проявления.
- Активный дамп памяти – внедрен в Виндовс 10, отсортировывает компоненты, неспособные распознать причину ошибки. Полезен для серверов и других виртуальных сервисов.
Установка WinDbg в Windows
Инструмент от разработчиков Microsoft, используется для загрузки, анализа файлов .dmp, созданных во время ошибки или BSoD. Для скачивания пакета нужно перейти по ссылке https://developer.microsoft.com/ru-ru/windows/downloads/windows-10-sdk/. Затем найти «Скачать отдельный пакет SDK». Далее пользователю потребуется открыть скачанную утилиту, инсталлировать ее.
После завершения процесса установки Windbg нужно ассоциировать с файлами .dmp. Для этого выполнить следующее:
- Вызвать строку поиска.
- Скопировать путь к нему и вставить в строку.
- Нажать «Ok».
Далее потребуется настроить путь к символам через «Пуск».
- Найти «Все приложения», затем «Windows Kits» и «WinDbg».
- В появившемся окне выбрать «File», в разделе «Symbol File Path».
- Ввести путь: SRV*C:\SymCache*http://msdl.microsoft.com/download/symbols и нажать «Ok».
- На завершающем этапе открыть «File», затем перейти в «Save Workspace».
- Закрыть WinDbg.
Просмотр и анализ файла мини-дампа
При выполнении операций с малым дампом можно воспользоваться доступной для любого пользователя утилитой Blue Screen View от Nirsoft. После открытия файла он четко укажет на имена этих драйверов. После нажатия на один из них появятся имена сервисов. Если юзер не может прочитать пути решения проблемы, он может воспользоваться поисковиком.
Пользователь может скачать ее с официального источника. Программа работает автономно, не требует скачивания дополнительных символов.
После запуска утилита сразу начнет сканировать директорию, где хранятся файлы дампа. Результаты анализа появятся в отдельной таблице, где будут указаны коды ошибок minidump и причины их появления. Проблемные участки будут выделены красным цветом.
Выполнение анализа и устранение ошибки:
- Для просмотра необходимо переместить файл в окно программы, после загрузится отладочная информация.
- Модули с ошибками высветятся красным цветом.
- Тапнуть по имени мини-дампа, запустить поиск решения в Google, посмотреть варианты устранения проблемы.
В таких случаях среди подсвеченных проблемных драйверов находится истинный источник появления синего «экрана смерти». Для более точного анализа можно применить несколько вариантов анализа.
Как удалить этот файл
Если пользователю понадобилось удалить minidump, то выполняет он эту процедуру ручным способом. А именно: перейти по пути месторасположения файлов на диске: C:\Windows\Minidump. Для удаления элементов minidump в каталоге Windows нужно воспользоваться встроенным инструментом системы «Очистка диска»:
- Вызвать командную строку.
- Ввести команду Cleanmpg.
- Тапнуть по кнопке очищения системных файлов.
- Найти в списке объекты, касающиеся мини-дампа, поставить галочки.
- Начнется удаление, которое потребует некоторое время.
Если в списке нужных объектов не нашлось, это не означает, что они отсутствуют в системе. Скорей всего, они отключены пользователем или программами по очистке.
Дамп памяти в ОС Windows 10 – инструмент, помогающий диагностировать и устранять причины сбоев и появление BSoD. Если автоматическое создание и сохранение дампов памяти отключено, рекомендуется активировать их. Чаще причиной отключения файлов становятся утилиты для очистки ПК и оптимизации работы системы.
При возникновении синих экранов BSoD Windows 11, 10 и другие версии системы создают дамп (снимок состояния) оперативной памяти, содержащий отладочную информацию, которую можно использовать для диагностики и определения причин сбоя. Функция обычно включена по умолчанию, но если дампы памяти не создаются, их можно включить: Как включить создание дампов памяти в Windows.
Подробным анализом дампов памяти занимаются разработчики, но и для рядового пользователя, столкнувшегося с синими экранами в Windows это может оказаться полезным: адреса в памяти ему ничего не дадут, но часто можно обнаружить имя файла приложения или драйвера, вызывающее сбой. Здесь помогут специальные программы для анализа дампов памяти, о которых и пойдёт речь далее.
WinDbg
У Майкрософт имеется собственный инструмент отладки и анализа дампов памяти — WinDbg (пока Preview). Скачать его для Windows 11 и Windows 10 можно из Microsoft Store, используя поиск в магазине приложений или прямую ссылку.
Пример простого анализа дампа памяти для обычного пользователя с целью выявления процесса, вызвавшего BSoD с помощью WinDbg:
- Запустите WinDbg от имени Администратора (правый клик по ярлыку в меню «Пуск» — «Запуск от имени администратора»).
- В главном меню программы выберите «Файл» — «Open dump File» и укажите путь к нужному мини-дампу, обычно находящемуся в папке C:\Windows\Minidump, нажмите кнопку «Open».
- Введите команду
!analyze -v
в поле ввода команд (либо нажмите по ссылке с командой в верхней панели WinDbg) и дождитесь завершения анализа.
- В панели «Command» в верхней части окна программы будет отображен результат анализа, где, при удаче, вы сможете найти информацию о том, каким процессом был инициирован сбой (PROCESS_NAME).
- Может быть информация о файле драйвера (.sys) в поле IMAGE_NAME и другая информация, позволяющая найти источник проблемы.
Далее полученную информацию можно использовать для того, чтобы найти, каким устройствам соответствуют драйверы в Интернете, выяснить назначение процессов вызвавших сбой, предпринять те или иные действия с целью их устранения.
BlueScreenView
BlueScreenView — очень простая утилита, которая позволяет выбрать файла дампа памяти в списке и посмотреть, какие файлы драйвера и процессы привели к сбою: в окне программы они будут выделены красным цветом.
Скачать BlueScreenView можно с официального сайта разработчика https://www.nirsoft.net/utils/blue_screen_view.html
WhoCrashed
Ещё одна программа для анализа дампов памяти — WhoCrashed. В бесплатной версии предоставляет не так много информации.
После нажатия кнопки «Analyze» имеющиеся дампы памяти анализируются, и на вкладке «Report» выводятся коды ошибок, а также текстовое описание на английском языке о том, что означает этот код и о возможных причинах сбоя.
Официальный сайт WhoCrashed https://www.resplendence.com/whocrashed, судя по всему, не открывается из РФ, но утилиту легко найти и скачать из сторонних источников.
Если перед вами появился так называемый синий экран смерти в Windows 10 и вы уже готовы впасть в нервное коматозное состояние, возьмите себя в руки и попробуйте решить возникшую проблему. Для начала стоит сказать, что это зловещее сообщение сигнализирует вам о критической системной ошибке. Более того, далеко не всегда можно словить момент и успеть прочитать код ошибки, когда Windows вывалится в синий экран смерти и произойдет перезагрузка устройства. Сразу отметим, что существует огромное количество решений этой проблемы, как и причин появления синего экрана. В этой статье мы попробуем рассмотреть вероятные причины появления синего экрана счастья, а также о возможных решениях проблемы.
В подавляющем большинстве случаев синий экран смерти сигнализирует про ошибку BAD_POOL_CALLER — stop 0x000000c2. Диагностировать эту ошибку скажем прямо сложно, но возможно и мы попытаемся на примере этой ошибке описать алгоритм ваших следующих действий.
Чтобы правильно осуществить диагностику проблемы, сначала следует проанализировать специальный файл системы под названием minidump (дамп памяти). К созданию таких файлов приводит сбой в работе системы, более того, они могут нас проинформировать – что именно привело к сбою.
1. Чтобы включить такую автоматическую запись малого дампа памяти (по-умолчанию отключено) зайдите в свойства компьютера и перейдите в раздел «Дополнительные параметры системы» (такое включение предусмотрено для все систем, а не только Windows 10):
2. Далее нажимаем «Параметры» в разделе «Загрузка и восстановление» и в открывшемся окне выбираем пункт «Малый дамп памяти (256KB):
Как правило все файлы minidump при появлении синего экрана смерти (BSOD) сохраняются, а найти их можно в папке C:\Windows\Minidump. Примечательно, что в имени файла содержится текущая дата – когда он был создан, что значительно облегчает идентификацию даты возникновения ошибки, особенно учитывая, что такой файл может быть не один.
Два способа как расшифровать малый дам памяти minidump
Первый способ, заключается в использовании довольно популярной утилите BlueScreenView. Эта утилита может также стать хорошим вариантом для анализа дампа памяти. Применение этой утилиты как нельзя кстати пригодится, как способ чтобы определить проблемный драйвер.
Более того, она особенно примечательна тем, что с ее помощью возможен просмотр BSOD (синего экрана смерти) как бы в стоп-кадре, как это было, когда система крашилась. Она отображает время и дату сбоя, данные о драйвере или модуле с версией и кратким описанием. Кроме того, утилита доступна на множестве языков, включая русский. Так что утилита BlueScreenView как раз самое то, если нужно произвести быстрый анализ дампов памяти при BSOD.
Для второго способа нужно установить Debugging Tools for Windows, а также загрузить утилиту bsdos_utility. Далее после распаковки скрипта bsdos_utility.cmd следует переместить его на диск C:\ (можно создать отдельную папку, но стоит помнить, что строка адреса запуска скрипта будет отличатся от нашего примера). Затем в командной строке следует написать:
C:\bsdos_utility.cmd
После выведения списка всех дампов из списка C:\Windows\Minidump\, после чего скрипт спросит какой именно дамп должен подвергнуться анализу. Выбрать нужный минидамп можно также самостоятельно при запуске скрипта:
Подобным образом возможно обнаружение массы ошибок Windows 10, из-за которых выпал BSOD, а также проблематичных программ .exe из-за которых случился синий экран.
В момент критического сбоя операционная система Windows прерывает работу и показывает синий экран смерти (BSOD). Содержимое оперативной памяти и вся информация о возникшей ошибке записывается в файл подкачки. При следующей загрузке Windows создается аварийный дамп c отладочной информацией на основе сохраненных данных. В системном журнале событий создается запись о критической ошибке.
Внимание! Аварийный дамп не создается, если отказала дисковая подсистема или критическая ошибка возникла на начальной стадии загрузки Windows.
Содержание:
- Типы аварийных дампов памяти Windows
- Как включить создание дампа памяти в Windows?
- Установка WinDBG в Windows
- Настройка ассоциации .dmp файлов с WinDBG
- Настройка сервера отладочных символов в WinDBG
- Анализ аварийного дампа памяти в WinDBG
Типы аварийных дампов памяти Windows
На примере актуальной операционной системы Windows 10 (Windows Server 2016) рассмотрим основные типы дампов памяти, которые может создавать система:
- Мини дамп памяти (Small memory dump) (256 КБ). Этот тип файла включает минимальный объем информации. Он содержит только сообщение об ошибке BSOD, информацию о драйверах, процессах, которые были активны в момент сбоя, а также какой процесс или поток ядра вызвал сбой.
- Дамп памяти ядра (Kernel memory dump). Как правило, небольшой по размеру — одна треть объема физической памяти. Дамп памяти ядра является более подробным, чем мини дамп. Он содержит информацию о драйверах и программах в режиме ядра, включает память, выделенную ядру Windows и аппаратному уровню абстракции (HAL), а также память, выделенную драйверам и другим программам в режиме ядра.
- Полный дамп памяти (Complete memory dump). Самый большой по объему и требует памяти, равной оперативной памяти вашей системы плюс 1MB, необходимый Windows для создания этого файла.
- Автоматический дамп памяти (Automatic memory dump). Соответствует дампу памяти ядра с точки зрения информации. Отличается только тем, сколько места он использует для создания файла дампа. Этот тип файлов не существовал в Windows 7. Он был добавлен в Windows 8.
- Активный дамп памяти (Active memory dump). Этот тип отсеивает элементы, которые не могут определить причину сбоя системы. Это было добавлено в Windows 10 и особенно полезно, если вы используете виртуальную машину, или если ваша система является хостом Hyper-V.
Как включить создание дампа памяти в Windows?
С помощью Win+Pause откройте окно с параметрами системы, выберите «Дополнительные параметры системы» (Advanced system settings). Во вкладке «Дополнительно» (Advanced), раздел «Загрузка и восстановление» (Startup and Recovery) нажмите кнопку «Параметры» (Settings). В открывшемся окне настройте действия при отказе системы. Поставьте галку в чек-боксе «Записать события в системный журнал» (Write an event to the system log), выберите тип дампа, который должен создаваться при сбое системы. Если в чек-боксе «Заменять существующий файл дампа» (Overwrite any existing file) поставить галку, то файл будет перезаписываться при каждом сбое. Лучше эту галку снять, тогда у вас будет больше информации для анализа. Отключите также автоматическую перезагрузку системы (Automatically restart).
В большинстве случаев для анализа причины BSOD вам будет достаточно малого дампа памяти.
Теперь при возникновении BSOD вы сможете проанализировать файл дампа и найти причину сбоев. Мини дамп по умолчанию сохраняется в папке %systemroot%\minidump. Для анализа файла дампа рекомендую воспользоваться программой WinDBG (Microsoft Kernel Debugger).
Установка WinDBG в Windows
Утилита WinDBG входит в «Пакет SDK для Windows 10» (Windows 10 SDK). Скачать можно здесь.
Файл называется winsdksetup.exe, размер 1,3 МБ.
WinDBG для Windows7 и более ранних систем включен в состав пакета «Microsoft Windows SDK for Windows 7 and .NET Framework 4». Скачать можно здесь.
Запустите установку и выберите, что именно нужно сделать – установить пакет на этот компьютер или загрузить для установки на другие компьютеры. Установим пакет на локальный компьютер.
Можете установить весь пакет, но для установки только инструмента отладки выберите Debugging Tools for Windows.
После установки ярлыки WinDBG можно найти в стартовом меню.
Настройка ассоциации .dmp файлов с WinDBG
Для того, чтобы открывать файлы дампов простым кликом, сопоставьте расширение .dmp с утилитой WinDBG.
- Откройте командную строку от имени администратора и выполните команды для 64-разрядной системы:
cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
windbg.exe –IA
для 32-разрядной системы:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
windbg.exe –IA - В результате типы файлов: .DMP, .HDMP, .MDMP, .KDMP, .WEW – будут сопоставлены с WinDBG.
Настройка сервера отладочных символов в WinDBG
Отладочные символы (debug-символы или symbol files) – это блоки данных, генерируемые в процессе компиляции программы совместно с исполняемым файлом. В таких блоках данных содержится информация о именах переменных, вызываемых функциях, библиотеках и т.д. Эти данные не нужны при выполнении программы, но полезные при ее отладке. Компоненты Microsoft компилируются с символами, распространяемыми через Microsoft Symbol Server.
Настройте WinDBG на использование Microsoft Symbol Server:
- Откройте WinDBG;
- Перейдите в меню File –> Symbol File Path;
- Пропишите строку, содержащую URL для загрузки символов отладки с сайта Microsoft и папку для сохранения кэша:
SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols
В примере кэш загружается в папку E:\Sym_WinDBG, можете указать любую. - Не забывайте сохранить изменения в меню File –> Save WorkSpace;
WinDBG произведет поиск символов в локальной папке и, если не обнаружит в ней необходимых символов, то самостоятельно загрузит символы с указанного сайта. Если вы хотите добавить собственную папку с символами, то можно сделать это так:
SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols;c:\Symbols
Если подключение к интернету отсутствует, то загрузите предварительно пакет символов с ресурса Windows Symbol Packages.
Анализ аварийного дампа памяти в WinDBG
Отладчик WinDBG открывает файл дампа и загружает необходимые символы для отладки из локальной папки или из интернета. Во время этого процесса вы не можете использовать WinDBG. Внизу окна (в командной строке отладчика) появляется надпись Debugee not connected.
Команды вводятся в командную строку, расположенную внизу окна.
Самое главное, на что нужно обратить внимание – это код ошибки, который всегда указывается в шестнадцатеричном значении и имеет вид 0xXXXXXXXX (указываются в одном из вариантов — STOP: 0x0000007B, 02.07.2019 0008F, 0x8F). В нашем примере код ошибки 0х139.
Полный справочник ошибок можно посмотреть здесь.
Отладчик предлагает выполнить команду !analyze -v, достаточно навести указатель мыши на ссылку и кликнуть. Для чего нужна эта команда?
- Она выполняет предварительный анализ дампа памяти и предоставляет подробную информацию для начала анализа.
- Эта команда отобразит STOP-код и символическое имя ошибки.
- Она показывает стек вызовов команд, которые привели к аварийному завершению.
- Кроме того, здесь отображаются неисправности IP-адреса, процессов и регистров.
- Команда может предоставить готовые рекомендации по решению проблемы.
Основные моменты, на которые вы должны обратить внимание при анализе после выполнения команды !analyze –v (листинг неполный).
1: kd>
!analyze -v
*****************************************************************************
* *
* Bugcheck Analysis *
* *
*****************************************************************************
Символическое имя STOP-ошибки (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Описание ошибки (Компонент ядра повредил критическую структуру данных. Это повреждение потенциально может позволить злоумышленнику получить контроль над этой машиной):
A kernel component has corrupted a critical data structure. The corruption could potentially allow a malicious user to gain control of this machine.
Аргументы ошибки:
Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: ffffd0003a20d5d0, Address of the trap frame for the exception that caused the bugcheck
Arg3: ffffd0003a20d528, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
------------------
Счетчик показывает сколько раз система упала с аналогичной ошибкой:
CUSTOMER_CRASH_COUNT: 1
Основная категория текущего сбоя:
DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY
Код STOP-ошибки в сокращенном формате:
BUGCHECK_STR: 0x139
Процесс, во время исполнения которого произошел сбой (не обязательно причина ошибки, просто в момент сбоя в памяти выполнялся этот процесс):
PROCESS_NAME: sqlservr.exe
CURRENT_IRQL: 2
Расшифровка кода ошибки: В этом приложении система обнаружила переполнение буфера стека, что может позволить злоумышленнику получить контроль над этим приложением.
ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
Последний вызов в стеке:
LAST_CONTROL_TRANSFER: from fffff8040117d6a9 to fffff8040116b0a0
Стек вызовов в момент сбоя:
STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9 : 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528 : nt!KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50 : ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2 : nt!KiBugCheckDispatch+0x69
ffffd000`3a20d3f0 fffff804`0117c150 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiFastFailDispatch+0xd0
ffffd000`3a20d5d0 fffff804`01199482 : ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9 : nt!KiRaiseSecurityCheckFailure+0x3d0
ffffd000`3a20d760 fffff804`014a455d : 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951 : nt! ?? ::FNODOBFM::`string'+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac : 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a34c600 : nt!IopSynchronousServiceTail+0x379
ffffd000`3a20d990 fffff804`0117d313 : ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380 : nt!NtWriteFile+0x694
ffffd000`3a20da90 00007ffb`475307da : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
000000ee`f25ed2b8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffb`475307da
Участок кода, где возникла ошибка:
FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr [rsp+20h],0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: MachineOwner
Имя модуля в таблице объектов ядра. Если анализатору удалось обнаружить проблемный драйвер, имя отображается в полях MODULE_NAME и IMAGE_NAME:
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
Если кликнете по ссылке модуля (nt), то увидите подробную информацию о пути и других свойствах модуля. Находите указанный файл, и изучаете его свойства.
1: kd>
lmvm nt
Browse full module list
Loaded symbol image file: ntkrnlmp.exe
Mapped memory image file: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Image path: ntkrnlmp.exe
Image name: ntkrnlmp.exe
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
ProductVersion: 6.3.9600.18946
FileVersion: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)
В приведенном примере анализ указал на файл ядра ntkrnlmp.exe. Когда анализ дампа памяти указывает на системный драйвер (например, win32k.sys) или файл ядра (как в нашем примере ntkrnlmp.exe), вероятнее всего данный файл не является причиной проблемы. Очень часто оказывается, что проблема кроется в драйвере устройства, настройках BIOS или в неисправности оборудования.
Если вы увидели, что BSOD возник из-за стороннего драйвера, его имя будет указано в значениях MODULE_NAME и IMAGE_NAME.
Например:
Image path: \SystemRoot\system32\drivers\cmudaxp.sys
Image name: cmudaxp.sys
Откройте свойсва файла драйвера и проверьте его версию. В большинстве случаев проблема с драйверами решается их обнвовлением.
It finally happened. Out of the blue, you’re enjoying a game, watching a movie, or just reading on the internet, when your operating system decides it doesn’t want to cooperate and suddenly you’re facing down a BSOD or Blue Screen of Death. A BSOD is something that no Windows user wants to see, because it means that your system has crashed, costing you time and perhaps even resulting in data loss.
Perhaps the worst thing about getting a Blue Screen of Death is that it could be the result of any number of issues, from a faulty piece of hardware to a driver error to having a page fault in a non-paged area (a result of a file not being found in memory). However, all isn’t lost and we’re going to show you how to enable and use a minidump log file to diagnose the problem.
Why You Need a Minidump File to Diagnose Your BSOD
In earlier versions of Windows, the BSOD showed you some error codes that were at least a little bit helpful. However, in Windows 10, the screen gives you a stop code you can write down and research and a QR code you can use with your phone. However, this only sends you to the Microsoft website and provides a description of certain error codes.
What we find useful is configuring Windows to save a file that contains lots of information regarding the BSOD and how we can go about fixing the error. This is called a minidump file.
How to Configure Windows to Save a Minidump File.
By default, the option to create a minidump file is not enabled so you’ll need to turn it on. Do this now, even if you don’t have a BSOD problem, because otherwise you won’t have a log when the crash happens.
1. Navigate to the System Properties Control Panel menu. You can get there by typing “sysdm.cpl” into the Windows search box. Or by going to Settings->System->About and clicking Advanced system settings.
2. Select the Advanced tab.
3. Enable the following options:
● Write an event to the system log
● Automatically restart
● Writing debugging information -> Small memory dump (256kb).
With this enabled, whenever Windows crashes, the minidump file will be created under “%SystemRoot%\Minidump”. You can also change this location if you choose to. However, if you do, keep in mind that most programs to troubleshoot the minidump logs are set to look for this location by default. So it’s best to leave it as it is. This also translates to C:\Windows\Minidump.
How to Read the Minidump, See What Caused Your BSOD
Now that the minidump is configured, you’ll need to download an application that can read the file and provide useful information. A tool called BlueScreenView comes recommended for doing just this.
You can download BlueScreenView by going to the official website and selecting either the 32-bit or 64-bit version of the application.
After downloading the tool, you’ll need to extract it to a location, so it can be run.
Once the tool is extracted to a directory, double click the “BlueScreenView” icon to get started. BlueScreenView will then look at the default minidump location and will look through the current logs that have been created. If you’ve experienced a number of issues or haven’t removed older minidump files, you’ll need to be mindful of the dates associated with the logs.
Using BlueScreenView to Understand Minidump Files
When you first use BlueScreenView, it will provide you with several pieces of information and at first, it may seem confusing. However, the format is straightforward and it does highlight the important information to get you started.
The files or applications that caused the crash will be highlighted in red, giving you a good idea of where to start correcting the issue.
In this screenshot (see how to take screenshots in Windows for more), we can see that on this specific minidump, there was an issue detected that affected three files; dxgmms2.sys, ntoskrnl.exe and watchdog.sys.
Further on the upper panel, we can see in the right column that there’s a section that tells us what caused the crash. In this image, we can see that the watchdog.sys caused the problem. This is a good starting point as you can now check Google or Bing, to see how this could become a problem and possible solutions.
We know that watchdog.sys is the potential cause, but what about dxgmms2.sys and ntoskrnel.exe? As those were the affected files, we need to find out what those are as well. So those will also need to be looked into. Doing a quick check on Google, we can see that dxgmms2.sys is related to the Windows DirectX drivers, while ntoskrnl.exe is the operating system kernel executable — responsible for keeping the operating system running.
Using this view of the Windows minidump file, we can deduce that the BSOD was likely caused by a graphics driver issue, which can typically be corrected by installing a newer version of the driver or reinstalling the current driver.
What If The Minidump File Shows A Hardware Error?
While driver issues are usually easily fixed, a BSOD that is a result of failed hardware is a different story. Such an example is the FAULTY_HARDWARE_CORRUPTED_PAGE error. Here, you would still use an application such as BlueSceenWindow to find the cause of the error. However, when a hardware error occurs, there’s not a magical fix that will correct this. For this specific error, we’re going to say that the result of this error was due to an installed memory module.
To figure out if this is the actual cause, we’d have to test the memory. There are several ways to do this; using a hardware memory checker or an application. Seeing how most people don’t have access to a physical memory checker, we’ll opt for the application route. Thankfully, Microsoft has included a memory diagnostics tool that has been included dating back to Windows 7. To use this, open up a run prompt and type “mdsched”.
You’ll have two options to choose from; Restart Now or Check for problems the next time you start my computer. If you choose the first option, be sure to save your work as Windows will close out.
Once your computer restarts, the memory checker will load and start checking your memory. Depending on how much memory you have installed, the process can take a while. While the test is running, you’ll see a progress bar and an overall status. Any errors that may be encountered will be displayed under the status section.
Once the test is completed, the memory test will boot into Windows. If there are no errors, you can conclude that your memory is not at fault.
Join the experts who read Tom’s Hardware for the inside track on enthusiast PC tech news — and have for over 25 years. We’ll send breaking news and in-depth reviews of CPUs, GPUs, AI, maker hardware and more straight to your inbox.