В момент критического сбоя операционная система 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 Kits10Debuggersx64
windbg.exe –IA
для 32-разрядной системы:
C:Program Files (x86)Windows Kits10Debuggersx86
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:ProgramDatadbgsymntoskrnl.exe5A9A2147787000ntoskrnl.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: SystemRootsystem32driverscmudaxp.sys
Image name: cmudaxp.sys
Откройте свойсва файла драйвера и проверьте его версию. В большинстве случаев проблема с драйверами решается их обнвовлением.
При возникновении синих экранов BSoD Windows 11, 10 и другие версии системы создают дамп (снимок состояния) оперативной памяти, содержащий отладочную информацию, которую можно использовать для диагностики и определения причин сбоя. Функция обычно включена по умолчанию, но если дампы памяти не создаются, их можно включить: Как включить создание дампов памяти в Windows.
Подробным анализом дампов памяти занимаются разработчики, но и для рядового пользователя, столкнувшегося с синими экранами в Windows это может оказаться полезным: адреса в памяти ему ничего не дадут, но часто можно обнаружить имя файла приложения или драйвера, вызывающее сбой. Здесь помогут специальные программы для анализа дампов памяти, о которых и пойдёт речь далее.
WinDbg
У Майкрософт имеется собственный инструмент отладки и анализа дампов памяти — WinDbg (пока Preview). Скачать его для Windows 11 и Windows 10 можно из Microsoft Store, используя поиск в магазине приложений или прямую ссылку.
Пример простого анализа дампа памяти для обычного пользователя с целью выявления процесса, вызвавшего BSoD с помощью WinDbg:
- Запустите WinDbg от имени Администратора (правый клик по ярлыку в меню «Пуск» — «Запуск от имени администратора»).
- В главном меню программы выберите «Файл» — «Open dump File» и укажите путь к нужному мини-дампу, обычно находящемуся в папке C:WindowsMinidump, нажмите кнопку «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, судя по всему, не открывается из РФ, но утилиту легко найти и скачать из сторонних источников.
Обновлено 18.08.2016
Добрый день уважаемые коллеги и читатели блога pyatilistnik.org. Сегодня я хочу вам рассказать как производится анализ дампа памяти windows 10 Redstone. Делается это в большинстве случаев когда у вас выскакивает синий экран смерти с ошибкой, после чего ваш компьютер перезагружается. И данный анализ помогает понять причину сбоя.
Настраиваем дамп памяти windows 10
И так, что же такое дамп памяти в операционной системе Windows 10 Redstone. Выше я вам описал, очень частую причину при которой появляется дамп памяти системы и это синие экраны смерти. Причины их появления очень обширны:
- Не совместимость приложений
- Не совместимость драйверов
- Новые обновления Windows
- Не совместимость устройств
Это лишь маленький обобщенный список, так как кодов ошибок от синих экраном, целая тьма, приведу самые последние из них.
Наша с вами задача, уметь найти эти файлы для диагностики и уметь их интерпретировать, для получения информации о проблеме.
Где настраивается аварийный дамп памяти windows 10
Для начала давайте разберемся, где производится настройка, которая отвечает за аварийный дамп памяти windows 10. Щелкаете правым кликом по кнопке пуск Windows 10 и из контекстного меню выбираете пункт Система.
В открывшемся окне Система, вы в левом верхнем углу выбираете Дополнительные параметры Системы.
Именно тут и настраивается дамп памяти windows 10. жмем пункт параметры в Загрузка и восстановление.
Из настроек, дампа памяти windows 10, хочу отметить следующие:
- Запись события в системный журнал > тут информация о синем экране будет добавлена в логи операционной системы.
- Выполнить автоматическую перезагрузку > чтобы продолжить после ошибки работу
- Запись отладочной информации > позволяет выбрать вид дамп файла, об этом ниже.
- Заменить существующий файл дампа, полезная галка, так как данные дампы могут весить десятки гигабайт, очень критично для маленьких ссд дисков.
Виды дампов памяти
Давайте рассмотрим, чем же отличаются варианты записи отладочной информации
- Малый дамп памяти 256 кб: Файлы малого дампа памяти содержат следующие сведения:
– сообщение о неустранимой ошибке, ее параметры и прочие данные;
– список загруженных драйверов;
– контекст процессора (PRCB), на котором произошел сбой;
– сведения о процессе и контекст ядра (EPROCESS) для процесса, вызвавшего ошибку;
– сведения о процессе и контекст ядра (ETHREAD) для потока, вызвавшего ошибку;
– стек вызовов в режиме ядра для потока, вызвавшего ошибку.
Его используют, когда у вас очень мало дискового пространства на вашем локальном диске. За счет этого мы жертвуем полезной информацией, которой может не хватить для диагностики синего экрана.
Хранится мини дамп по пути C:WindowsMinidump
- Дамп памяти ядра > записывает только память ядра. В зависимости от объема физической памяти ПК в этом случае для файла подкачки требуется от 50 до 800 МБ или одна треть физической памяти компьютера на загрузочном томе.
- Полный дамп памяти > ну тут и так все понятно из названия. Пишет абсолютно все, это максимальная информация о синем экране, дает сто процентную диагностику проблемы.
Располагается по пути C:WindowsMemory.dmp
- Активный дамп памяти > сюда попадает активная память хостовой машины, это функция больше для серверных платформ, так как они могут использоваться для виртуализации, и чтобы в дамп не попадала информация о виртуальных машинах, придумана данная опция.
Я советую оставлять полный дамп памяти
.
Теперь когда у вас появится синий экран, то дамп памяти windows 10, вы будите искать в папке C:Windows.
Анализ дампа памяти windows 10
Ну и естественно давайте рассмотрим вопрос, как производится анализ дампа памяти windows 10, тут все просто, переходите по ссылке чуть выше и читаете статью Как анализировать синий экран dump memory в Windows. В которой я подробнейшим образом рассказал, как вам можно узнать причину падения и краха вашей операционной системы Windows 10. Желаю вам, чтобы экраны смерти обходили ваш компьютер стороной.
Информацию о проблемах, возникших при работе с ОС 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:WindowsMinidump. Для удаления элементов minidump в каталоге Windows нужно воспользоваться встроенным инструментом системы «Очистка диска»:
- Вызвать командную строку.
- Ввести команду Cleanmpg.
- Тапнуть по кнопке очищения системных файлов.
- Найти в списке объекты, касающиеся мини-дампа, поставить галочки.
- Начнется удаление, которое потребует некоторое время.
Если в списке нужных объектов не нашлось, это не означает, что они отсутствуют в системе. Скорей всего, они отключены пользователем или программами по очистке.
Дамп памяти в ОС Windows 10 – инструмент, помогающий диагностировать и устранять причины сбоев и появление BSoD. Если автоматическое создание и сохранение дампов памяти отключено, рекомендуется активировать их. Чаще причиной отключения файлов становятся утилиты для очистки ПК и оптимизации работы системы.
Если на вашем ПК с Windows возникает ошибка синего экрана смерти (BSOD), произойдет несколько вещей. Наиболее очевидным является то, что ваш компьютер принудительно перезагружается, поскольку BSOD является результатом полного сбоя Windows. Однако менее очевидным результатом ошибки BSOD является журнал ошибок, который создается, что позволяет впоследствии устранить проблему.
Это называется файлом дампа памяти, сохраненным в формате файла DMP. Эти файлы содержат различную информацию о проблеме, включая вашу текущую версию Windows, все запущенные приложения и драйверы на момент BSOD, а также сам код ошибки. Вот что вам нужно сделать, чтобы помочь вам проанализировать файлы дампа памяти.
Синий экран смерти — это критическая и неисправимая ошибка на ПК с Windows, но причины этих ошибок могут быть разными. Например, неожиданный BSOD с ловушкой режима ядра обычно вызван несовместимым или разогнанным оборудованием, в то время как BSOD с остановкой критического процесса может иметь различные причины, в том числе поврежденные системные файлы.
Чтобы помочь вам устранить проблему, Windows автоматически создает файл дампа памяти. Обычно он содержит имя и значение кода остановки (например, код остановки исключения системной службы), список всех работающих драйверов на момент сбоя и некоторую дополнительную техническую информацию, которую можно использовать для определения причины.
Эти файлы дампа (с использованием формата файлов DMP) автоматически сохраняются в корневую папку C: , C: minidump или C: Windows minidump. Чтобы помочь вам проанализировать их, вы можете установить приложение отладки Microsoft WinDbg из Microsoft Store. Это поможет вам проанализировать файлы дампа памяти и найти информацию о коде остановки.
Вы также можете использовать старые инструменты, такие как NirSoft BlueScreenView, для быстрого анализа файлов дампа, созданных на вашем ПК. Это также поможет вам определить значение кода остановки и возможную причину (например, конкретный файл драйвера).
Как только вы узнаете значение кода остановки, вы сможете найти дополнительную информацию о проблеме в Интернете. Например, если вы обнаружили из своего файла дампа, что у вас BSOD управления памятью, вы можете ознакомиться с нашим руководством по ошибкам BSOD, чтобы получить дополнительные советы о том, как решить проблему.
Поскольку ошибка BSOD может остановить работу вашего компьютера, вам может потребоваться попробовать и перезапустите Windows в безопасном режиме. Запуск Windows в безопасном режиме сокращает количество активных системных процессов и драйверов до минимума, что позволяет вам исследовать ситуацию дальше.
Однако, если вы вообще не можете загрузиться в Windows, ваши возможности ограничены. В настоящее время нет автономных инструментов, которые можно было бы запустить, если сама Windows не работает должным образом для анализа файлов дампа BSOD. Если это произойдет, вам потребуется восстановить файлы дампа с помощью Live CD Linux с помощью DVD-диска или переносного USB-накопителя.
Затем вы можете проанализировать файл с помощью WinDbg или NirSoft BlueScreenView на рабочем ПК или ноутбуке с Windows, выполнив следующие действия.
Изменение настроек файла дампа памяти в настройках Windows
Файлы дампа памяти создаются автоматически, но вы можете установить уровень детализации, включенный в файл дампа памяти, в настройках Windows. Это будет работать только для BSOD, которые возникают после изменения этого параметра, но если на вашем компьютере возникают проблемы, вы можете выполнить следующие действия, чтобы добавить дополнительную информацию в файлы дампа.
- Чтобы начать, щелкните правой кнопкой мыши меню «Пуск» и выберите «Настройка».
- В меню «Настройки» выберите «Система»> «О программе». На панели «Связанные параметры» в меню «Система»> «О программе» выберите параметр «Дополнительные параметры системы».
- В меню «Свойства системы» выберите параметр «Параметры», указанный в разделе «Запуск и восстановление» внизу.
- Чтобы изменить уровень детализации, записываемой файлами дампа памяти при возникновении BSOD, выберите один из доступных вариантов с помощью раскрывающегося меню «Запись отладочной информации» в окне «Запуск и восстановление». Полная информация о том, что входит в каждый дамп памяти, доступна на сайте Веб-сайт документации Microsoft. Выберите ОК> ОК, чтобы сохранить свой выбор.
После внесения этого изменения вам может потребоваться перезагрузить компьютер, чтобы убедиться, что параметр применен. Любые будущие ошибки BSOD будут генерировать файл дампа памяти, содержащий уровень информации, который вы выбрали выше.
Как анализировать файлы дампа памяти Windows с помощью WinDbg
Если вы столкнулись с ошибкой BSOD, вы можете использовать WinDbg для анализа файла дампа памяти. Этот созданный Microsoft инструмент разработки — лучший способ проанализировать ваши файлы памяти, но вы также можете использовать более старую версию NirSoft BlueScreenView в качестве альтернативы, выполнив следующие шаги.
Эти шаги предполагают, что ваш компьютер работает достаточно хорошо, чтобы установить и использовать WinDbg. Если это не так, вам нужно будет получить файлы дампа с жесткого диска с помощью Live CD Linux или USB, чтобы проанализировать их в другом месте. Среды Live CD можно загрузить с установочного носителя большинства дистрибутивов Linux, включая Ubuntu и Debian.
- Для начала вам нужно установить WinDbg Preview из Microsoft Store. На странице магазина WinDbg выберите Получить, чтобы начать установку.
- После установки WinDbg запустите его, выбрав «Запустить» на странице магазина или запустив его из меню «Пуск». Если у вас нет доступа к файлам дампа, вам нужно найти WinDbg в меню «Пуск», затем щелкнуть правой кнопкой мыши и выбрать «Дополнительно»> «Запуск от имени администратора», чтобы предоставить ему необходимый доступ.
- В окне WinDbg выберите Файл> Начать отладку> Открыть файл дампа. Используйте встроенное меню проводника, чтобы открыть последний файл дампа, который обычно сохраняется в корневой папке C: , C: minidump или C: Windows minidump.
- Открытие файла DMP вызовет запуск отладчика WinDbg и загрузку файла. Это может занять некоторое время, в зависимости от размера файла и уровня сохраняемой детализации. Как только это будет сделано, введите! Analysis -v в командное поле в нижней части вкладки «Команда», затем нажмите Enter, чтобы запустить команду.
- Команде! Analysis -v потребуется некоторое время, чтобы загрузить и проанализировать файл журнала, созданный ошибкой BSOD — дождитесь завершения этого процесса. Как только это будет сделано, вы можете полностью проанализировать вывод на вкладке «Команда». В частности, найдите имя и значение кода остановки (например, DRIVER_IRQL_NOT_LESS_OR_EQUAL и d1), перечисленные в разделе «Анализ ошибок». Наряду с кодом остановки будет указано краткое описание причины (например, проблемы с драйвером), что позволит вам устранить неполадки в дальнейшем.
- Вы также можете посмотреть другую соответствующую информацию, перечисленную в анализе WinDbg (например, значение MODULE_NAME), чтобы определить причину. В этом примере код BSOD был вызван запуском Инструмент тестирования системы NotMyFault.
После того, как вы определили код остановки и возможную причину ошибки BSOD, вы можете дополнительно изучить проблему, чтобы определить возможное исправление.
Как анализировать файлы дампа памяти Windows с помощью NirSoft BlueScreenView
Хотя WinDbg не входит в состав Windows, он создан Microsoft для устранения ошибок BSOD. Однако, если вы предпочитаете, вы можете анализировать файлы дампа памяти со своего ПК (или с другого ПК, если у вас есть копия соответствующих файлов дампа), используя более старый инструмент NirSoft BlueScreenView.
BlueScreenView может показаться устаревшим, но он по-прежнему предлагает всю необходимую информацию о ваших файлах дампа BSOD. Это включает имя и значение кода остановки (например, DRIVER_IRQL_NOT_LESS_OR_EQUAL), которое затем можно использовать для определения причины.
- Начать, загрузите и установите инструмент NirSoft BlueScreenView на вашем ПК с Windows. После установки инструмента запустите его из меню «Пуск».
- BlueScreenView автоматически найдет файлы дампа памяти из известных источников, таких как C: / и C: / Windows / minidump. Однако, если вы хотите загрузить файл вручную, выберите «Параметры»> «Дополнительные параметры».
- В меню «Дополнительные параметры» переключитесь в папку, содержащую файлы дампа, нажав кнопку «Обзор», расположенную рядом с полем «Загрузить из следующего окна папки MiniDump». Чтобы вернуть это в расположение по умолчанию, выберите По умолчанию. Нажмите ОК, чтобы сохранить свой выбор и загрузить файлы.
- В главном окне BlueScreenView появится список сохраненных файлов дампа памяти. Выберите один из файлов в списке, чтобы просмотреть дополнительную информацию о нем. Название кода остановки появится в столбце Строка проверки ошибки, что позволит вам изучить проблему дальше.
- Если выбран файл дампа памяти, внизу будет указан полный список активных файлов и драйверов. Файлы, выделенные красным, будут иметь прямую ссылку на причину ошибки BSOD. Например, myfault.sys относится к инструменту тестирования системы NotMyFault, а ntoskrnl.exe — к процессу ядра системы Windows.
Хотя BlueScreenView — полезный инструмент для быстрого определения имени ошибки BSOD, это не полноценный инструмент отладки, такой как WinDbg. Если вы не можете устранить проблему с помощью этого инструмента, вам нужно попробовать WinDbg для более подробного анализа.
Устранение ошибок BSOD с помощью файлов дампа памяти
Используя информацию файла дампа памяти, которую вы восстанавливаете, вы можете устранить ошибки BSOD, выполнив поиск кодов остановки или связанных файлов ошибок BSOD. Коды остановки ошибки, в частности, могут помочь вам найти причину BSOD, от плохой информации о конфигурации системы BSOD до неожиданной ошибки исключения из хранилища BSOD.
Ошибки BSOD вызваны всем — от неисправного оборудования до поврежденных системных файлов. Чтобы их остановить, вам следует регулярно проверять свой компьютер на наличие вредоносных программ и использовать такие инструменты, как SFC, для восстановления вашей установки Windows, если она повреждена. Если все остальное не помогло, вы всегда можете сбросить или переустановить Windows 10, чтобы восстановить свой компьютер до полного рабочего состояния.
В случае критической ошибки система останавливает свою работу, отображает синий экран смерти (BSOD), информация об ошибке и содержимое памяти сохраняется в файле подкачки. При последующей загрузке системы, на основе сохраненных данных, создается аварийный дамп c отладочной информацией. В системном журнале событий создается запись о критической ошибке.
Если критическая ошибка возникла на ранней стадии загрузки системы или в результате ошибки произошел отказ дисковой подсистемы, аварийный дамп сохранен не будет.
Аварийный дамп может быть проанализирован с помощью утилиты BlueScreenView или системного отладчика WinDbg (Debugging Tools for Windows).
Содержание
- Анализ аварийного дампа утилитой BlueScreenView
- Анализ аварийного дампа отладчиком WinDbg
- Получение информации о проблемном драйвере
- Аппаратные причины возникновения критических ошибок
- Настройка параметров сохранения аварийного дампа
Анализ аварийного дампа утилитой 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.
Следующей строкой включаем загрузку отладочных символов из сети, задаем локальный путь для сохранения файлов и адрес для загрузки из интернета:
srv*C:Windowssymbols*http://msdl.microsoft.com/download/symbols
Анализ аварийного дампа
Запускаем WinDbg.
В меню выбираем File, Open Crash Dump, или нажимаем Ctrl+D.
Указываем путь к дампу %SystemRoot%MEMORY.DMP или %SystemRoot%Minidumpфайл.dmp.
Загрузка отладочных символов из интернета может занять некоторое время.
Для получения детальной информации выполняем команду:
!analyze -v
Дебаггер сам вам предложит ее выполнить, достаточно навести указатель мыши на ссылку и кликнуть.
В результате получаем следующий вывод:
******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Тип ошибки: KMODE_EXCEPTION_NOT_HANDLED (1e) Комментарий к ошибке: This is a very common bugcheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Arguments: Аргументы ошибки: Arg1: 0000000000000000, The exception code that was not handled Arg2: 0000000000000000, The address that the exception occurred at Arg3: 0000000000000000, Parameter 0 of the exception Arg4: 0000000000000000, Parameter 1 of the exception Debugging Details: ------------------ EXCEPTION_CODE: (Win32) 0 (0) - . FAULTING_IP: +3332313336383065 00000000`00000000 ?? ??? EXCEPTION_PARAMETER1: 0000000000000000 EXCEPTION_PARAMETER2: 0000000000000000 ERROR_CODE: (NTSTATUS) 0 - STATUS_WAIT_0 BUGCHECK_STR: 0x1E_0 CUSTOMER_CRASH_COUNT: 1 DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT Процесс, вызвавший ошибку: PROCESS_NAME: VirtualBox.exe CURRENT_IRQL: 2 EXCEPTION_RECORD: fffff80000ba24d8 -- (.exr 0xfffff80000ba24d8) ExceptionAddress: fffff800034d8a70 (nt!DbgBreakPoint) ExceptionCode: 80000003 (Break instruction exception) ExceptionFlags: 00000000 NumberParameters: 1 Parameter[0]: 0000000000000000 TRAP_FRAME: fffff80000ba2580 -- (.trap 0xfffff80000ba2580) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=0000000000142940 rbx=0000000000000000 rcx=fffffa80055be690 rdx=0000000000009018 rsi=0000000000000000 rdi=0000000000000000 rip=fffff800034d8a71 rsp=fffff80000ba2718 rbp=fffff88006fa0000 r8=0000000000002274 r9=11d0851b22c6ac61 r10=fffff80003464000 r11=fffff80000ba27e0 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl nz ac po nc nt!DbgBreakPoint+0x1: fffff800`034d8a71 c3 ret Resetting default scope LAST_CONTROL_TRANSFER: from fffff800034d85fe to fffff800034e0c10 STACK_TEXT: Стек вызовов: fffff800`00ba15b8 fffff800`034d85fe : fffffa80`03c05530 00000000`ffffffff fffff800`00ba1d30 fffff800`0350c830 : nt!KeBugCheck fffff800`00ba15c0 fffff800`0350c4fd : fffff800`036ea71c fffff800`03627c30 fffff800`03464000 fffff800`00ba24d8 : nt!KiKernelCalloutExceptionHandler+0xe fffff800`00ba15f0 fffff800`0350b2d5 : fffff800`0362b028 fffff800`00ba1668 fffff800`00ba24d8 fffff800`03464000 : nt!RtlpExecuteHandlerForException+0xd fffff800`00ba1620 fffff800`0351c361 : fffff800`00ba24d8 fffff800`00ba1d30 fffff800`00000000 00000000`00142940 : nt!RtlDispatchException+0x415 fffff800`00ba1d00 fffff800`034e02c2 : fffff800`00ba24d8 fffffa80`07149010 fffff800`00ba2580 00000000`00000000 : nt!KiDispatchException+0x135 fffff800`00ba23a0 fffff800`034de0f4 : 00000000`00000016 00000000`00000001 00000000`00000001 00000000`00000000 : nt!KiExceptionDispatch+0xc2 fffff800`00ba2580 fffff800`034d8a71 : fffff880`05861446 00000000`df029940 fffff880`02f45bec 00000000`deee7000 : nt!KiBreakpointTrap+0xf4 fffff800`00ba2718 fffff880`05861446 : 00000000`df029940 fffff880`02f45bec 00000000`deee7000 fffff880`01229f06 : nt!DbgBreakPoint+0x1 fffff800`00ba2720 00000000`df029940 : fffff880`02f45bec 00000000`deee7000 fffff880`01229f06 fffffa80`05635af8 : cmudaxp+0x25446 fffff800`00ba2728 fffff880`02f45bec : 00000000`deee7000 fffff880`01229f06 fffffa80`05635af8 00000000`00000000 : 0xdf029940 fffff800`00ba2730 00000000`deee7000 : fffff880`01229f06 fffffa80`05635af8 00000000`00000000 00000000`00000003 : VBoxDrv+0x6bec fffff800`00ba2738 fffff880`01229f06 : fffffa80`05635af8 00000000`00000000 00000000`00000003 fffff880`05865913 : 0xdeee7000 fffff800`00ba2740 00000000`00000000 : 00000000`00000001 00000000`00000006 00000000`00000001 fffff800`00ba2800 : CLASSPNP!ClasspServiceIdleRequest+0x26 STACK_COMMAND: kb FOLLOWUP_IP: cmudaxp+25446 fffff880`05861446 ?? ??? SYMBOL_STACK_INDEX: 8 SYMBOL_NAME: cmudaxp+25446 FOLLOWUP_NAME: MachineOwner Драйвер, в котором возникла ошибка: MODULE_NAME: cmudaxp IMAGE_NAME: cmudaxp.sys DEBUG_FLR_IMAGE_TIMESTAMP: 47906a45 FAILURE_BUCKET_ID: X64_0x1E_0_cmudaxp+25446 BUCKET_ID: X64_0x1E_0_cmudaxp+25446 Followup: MachineOwner ---------
Получение информации о проблемном драйвере
Если удалось обнаружить драйвер, в котором возникла ошибка, имя драйвера будет отображено в полях MODULE_NAME и IMAGE_NAME.
Чтобы получить путь к файлу и прочую информацию, щелкаем по ссылке на модуль:
start end module name
fffff880`0583c000 fffff880`059ef000 cmudaxp T (no symbols)
Loaded symbol image file: cmudaxp.sys
Image path: SystemRootsystem32driverscmudaxp.sys
Image name: cmudaxp.sys
Timestamp: Fri Jan 18 13:58:45 2008 (47906A45)
CheckSum: 0013077F
ImageSize: 001B3000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
Если полный путь к драйверу не указан, по умолчанию используется папка %SystemRoot%system32drivers.
Находим указанный файл, и изучаем его свойства.
Обновляем проблемный драйвер.
Аппаратные причины возникновения критических ошибок
Источником критических ошибок нередко бывают неисправности в дисковой подсистеме, или в подсистеме памяти.
Диагностика неисправностей диска
В случае ошибок дисковой подсистемы, аварийный дамп может не сохраняться.
Чтобы исключить проблемы с диском, проверяем системный журнал событий на наличие ошибок чтения и записи на диск.
Проверяем параметры 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 10 каждый раз, когда происходит сбой, система создает файл «дампа», содержащий информацию о памяти на момент ошибки. Это может помочь определить причину проблемы.
Файл .dmp включает в себя сообщение об ошибке, список драйверов, загруженных в момент возникновения проблемы, а также информацию о ядре, процессоре и процессах, а также другую информацию в зависимости от типа используемого файла дампа.
Хотя Windows 10 создает файлы дампа автоматически, в системе нет никаких встроенных утилит для их открытия. Тут пригодится инструмент Microsoft WinDbg (Windows Debugging). Он предназначен для отладки кода в режиме ядра и пользовательском режиме, изучения реестров процессоров и анализа аварийных дампов.
В этой инструкции мы расскажем, как открыть файла дампа и попытаться выяснить, что вызвало сбой.
Как открыть файл дампа с помощью WinDbg
Всего есть несколько способов открыть и просмотреть файл ошибки дампа, но самый простой — использовать инструмент WinDbg, доступный в Microsoft Store.
Установка WinDbg
Чтобы установить инструмент WinDbg на Windows 10, проделайте следующее:
- Откройте браузер.
- Откройте страницу загрузки WinDbg.
- Нажмите Получить.
- Нажмите Открыть.
- Нажмите Установить.
После выполнения этих шагов приложение будет установлено и доступно через меню Пуск.
Анализ файла дампа
Чтобы открыть и проанализировать файл дампа, созданный в результате сбоя в Windows 10, выполните следующие действия:
- Откройте Пуск.
- Найдите WinDbg, щелкните правой кнопкой мыши верхний результат и выберите Запуск от имени администратора.
- Выберите пункт меню Файл.
- Нажмите кнопку Start debugging.
- Выберите Open dump file.
- Выберите файл дампа из расположения папки – например, %SystemRoot%Minidump.
- Нажмите Открыть.
- Подождите, пока файл дампа загрузится. Это может занять некоторое время.
- Введите следующую команду в поле Command и нажмите Enter:
!analyze -v
На заметку: также можно нажать ссылку !analyze-v, если она доступна в основной области после загрузки файла дампа. - Подождите завершения анализа — это может занять много времени в зависимости от размера данных.
После выполнения этих шагов приложение выдаст анализ файла дампа, который затем можно просмотреть, чтобы определить причину проблемы и решить ее.
Информация будет отличаться в зависимости от проблемы. Например, этот тестовый файл дампа показывает информацию о синем экране смерти.
Результат указывает на то, что сбой был инициирован вручную и имеет код ошибки e2 (сбой мы действительно вызвали вручную). WinDbg также довольно понятным языком описывает проблему — из этого отчета понятно, что пользователь вызвал сбой вручную.
В файле дампа вы найдете и дополнительные сведения, например FAILURE_BUCKET_ID и MODULE_NAME, которые также могут указывать на причину проблемы.
Большая часть информации может привести в замешательство, так как она не предназначена для обычных пользователей. Тем не менее, этот инструмент пригодится, чтобы получить общее представление о проблеме. Если вы не понимаете, в чем дело, данными из отчета можно воспользоваться, чтобы поискать решение в сети.
Новости о программах, устройствах и технологиях Microsoft
Чтобы исправить синий экран смерти необходимо выявить причину его появления. Для этого нужно проанализировать аварийный файл дампа памяти. Анализ аварийного дампа можно провести различными способами. Об этом как раз и поговорим в этой статье.
Содержание
- 1 Что нужно знать, про файл дампа?
- 1.1 Анализ дамп файла с помощью Microsoft Kernel Debugger.
- 1.2 Анализ файла дампа с BlueScreenView
- 1.2.1 Как провести анализ файла дампа с BlueScreenView?
Что нужно знать, про файл дампа?
В предыдущей статье на сайте мы уже писали про причины, которые чаще всего приводят к синему экрану смерти. Также показали как правильно настроить создание аварийных дампов памяти и рассказали где хранится этот самый файл дампа. Мельком коснулись того, что по стоп коду и по информации из дамп файла можно путём анализа точнее выяснить причину приведшую к BSOD.
Осталось узнать как и с помощью чего можно проанализировать информацию из дамп файла. Рассмотрим несколько способов, включающих как инструмент анализа от самих разработчиков Windows так и сторонние инструменты.
Анализ дамп файла с помощью Microsoft Kernel Debugger.
Microsoft Kernel Debugger — специальная утилита для анализа крэш дампов. Скачать саму утилиту, а также необходимые для её работы компоненты можно с сайта Microsoft — Debugging tools. Версия пакета Debugging Tools for Windows должна соответствовать разрядности операционной системы. Подробно про то где и как скачать эту утилиту писал тут.
Вместе с самим отладчиком необходимо ещё скачать набор отладочных символов — Debugging Symbols. Набор символов, также различается для каждой версии Windows, включая и по разрядности. Таким образом, для 32-х разрядной Windows 7 необходимо скачать пакет символов Windows 7 x32, а для 64-х битной Windows 7 набор символов Windows 7 x64. Таким же образом нужно выбирать набор символов и для других версий Windows (widows 10, XP и т.д.). Нужный набор символов также можно скачать в самом отладчике, но об этом ниже.
После установки утилиты и набора отладочных символов, можно запустить сам отладчик. После запуска необходимо в его настройках указать ему путь до отладочных символов. Для этого:
Нажмите на кнопку File ⇒ Symbol File Path…
Далее нажмите кнопку Browse и укажите папку куда сохранили набор символов.
Скачать самую новую версию символов можно с помощью самой утилиты. Для этого в поле File ⇒ Symbol File Path… введите:SRV*C:symbols*http://msdl.microsoft.com/download/symbols
Далее нажмите на File ⇒ Save workspace и затем нажмите на ОК.
Таким образом утилита запросит информацию об отладочных символах через интернет напрямую с сервера Microsoft.
Для того, чтобы приступить к анализу нажмите на File > Open Crash Dump… и укажите требуемый файл дампа памяти (малый дамп памяти).
Система проведёт анализ дампа и по результатам выдаст возможную причину ошибки.
Кликнув по гиперссылке !analyse-v откроется более расширенная информация по ошибке.
Завершить отладку можно с помощью пункта меню Debug > Stop Debugging.
Анализ файла дампа с BlueScreenView
BlueScreenView это бесплатная утилита для анализа файла малого аварийного дампа памяти. Данная утилита имеет поддержку русского языка. Основным плюсом данной программы является то, что для её работы не нужно скачивать отладочные символы. Это делает эту утилиту полностью автономной и независимой. Еще одним плюсом данной программы является наличие портабельной версии, то есть версии, которую не нужно устанавливать в систему. Автором программы является Nier Sofer. Скачать можно с официального сайта автора. Портабельную версию программы можно скачать по ссылке на официальной странице, в названии которого, в скобках указано in Zip file. При скачивании важно учитывать разрядность вашей ОС.
Пролистав чуть ниже можно скачать файл русификации — BlueScreenView_lng.ini, который нужно просто закинуть в папку с самой программой. Я подготовил для скачивания программу с уже настроенным языком. Вот прямые ссылки:
- Для x86_32 битной ОС
- Для x64 битной ОС
А теперь непосредственно про процедуру анализа.
Как провести анализ файла дампа с BlueScreenView?
После запуска программа сразу сканирует стандартную директорию хранения файла дампа — %SystemRoot%Minidump. Директорию можно изменить в дополнительных параметрах программы. Интерфейс окна программы условно можно поделить на 3 области:
- Верхняя область кнопок меню
- Средняя область со списком файлов дампов
- Нижняя область со списком драйверов
Данные анализа выводятся в табличном виде. Перечислю наиболее важные из столбцов средней области интерфейсного окна программы (в скобках наименование из англ. версии):
- Текст ошибки (Bug Check String). Здесь выводится описание ошибки согласно классификации MicroSoft. В нашем примере это DRIVER_IRQL_NOT_LESS_OR_EQUAL.
- Код ошибки (Bug Check Code). Выводится СТОП-код ошибки — 0x000000d1
- Драйвер причины (Caused By Driver). Отображает наименование драйвера либо модуля, который вероятнее всего вызвал ошибку. Заметьте, это 100% виновник ошибки, а лишь вероятный. В нашем примере это E1G6032E.sys
- Адрес причины (Caused By Address). Отображает драйвер и сразу после адрес инструкций, вызвавших сбой. У нас это E1G6032E.sys+9ef530</li>
- Адрес аварии (Crash Address). Адрес по которому случилась ошибка. В нашем случае ntoskrnl.exe+1509a0.
Теперь перечислю наиболее важные столбцы из нижней области:
- Имя файла (File name). Указывается наименование драйвера либо модуля
- Адрес в стеке (Address In Stack). Выводится адрес памяти драйвера из стека памяти.
- Описание файла (File Description).
- Версия файла (File Version). Отображается версия файла драйвера.
Для анализа выделяем нужный файл дампа в средней области окна утилиты. При выделении нижняя область сразу заполняется данными. Смотрим в таблице данные из основных столбцов, которые я привёл выше. В нижней области окна вероятные проблемные драйвера либо модули выделяются красным цветом. Редко, бывают случаи, когда указанный программой в средней области окна драйвер не является источником BSOD ошибки. В таких случаях, среди подсвеченных красным цветом ниже, проблемных драйверов, наверняка присутствует истинный источник синего экрана смерти. В моём случае это: E1G6032E.sys и ntoskrnl.exe. Кстати, оба являются довольно таки распространёнными причинами BSOD.
Если найденные программой источники ошибки вам ни о чём не говорят, то можно просто в поисковике ввести наименование проблемных драйверов и там наверняка найдёте как их побороть.
Для более точного определения проблемных драйверов и модулей можно воспользоваться несколькими способами анализа. Благо в данной статье мы разобрали два наиболее популярных. Следите за публикациями и в дальнейшем выйдет ещё статья про анализ дампов.
Если вам понравилась эта статья, то пожалуйста, оцените её и поделитесь ею со своими друзьями на своей странице в социальной сети.
(7 оценок, среднее: 5,00 из 5)
Загрузка…