Что такое дамп файлы

Что такое дамп файлы

Чтобы исправить синий экран смерти необходимо выявить причину его появления. Для этого нужно проанализировать аварийный файл дампа памяти. Анализ аварийного дампа можно провести различными способами. Об этом как раз и поговорим в этой статье.

Что нужно знать, про файл дампа?

В предыдущей статье на сайте мы уже писали про причины, которые чаще всего приводят к синему экрану смерти. Также показали как правильно настроить создание аварийных дампов памяти и рассказали где хранится этот самый файл дампа. Мельком коснулись того, что по стоп коду и по информации из дамп файла можно путём анализа точнее выяснить причину приведшую к 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 , который нужно просто закинуть в папку с самой программой. Я подготовил для скачивания программу с уже настроенным языком. Вот прямые ссылки:

А теперь непосредственно про процедуру анализа.

Как провести анализ файла дампа с 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). Отображается версия файла драйвера.

Release-версия файла (сокращенно release) – бинарный исполняемый файл, собираемый из исходников проекта. Довольно сильно отличается от отладочной версии (например, наличием оптимизации и отсутствием инициализации данных специальными отладочными значениями) . Существует заблуждение, что release-файлы отлаживать нельзя. На самом деле их отлаживать можно, просто по умолчанию MS Visual Studio не включает поддержку символов в release-версиях. В документации Microsoft сказано, что включение поддержки символов незначительно увеличивает размер бинарных файлов. Однако, по моему личному опыту, размер файла увеличивается (и значительно) . В среднем файл увеличивается на 100 килобайт. На больших проектах это не заметно, но маленькие проекты после этого сильно увеличиваются в размерах.
СОВЕТ

Для включения генерации символов в release-версиях нужно в настройках компилятора выбрать значение «Generate Program Database» для опции «Debug Information Format» (опция компилятора /Zi). Если вы забудете сделать это, файл символов будет построен не полностью и отлаживаться по нему будет невозможно.

PDB-файл (файл символов или просто символы) . При компиляции проекта компоновщик строит исполняемый модуль. Фирмы-производители программного обеспечения уже давно разработали разные методы сохранения информации о строках исходных файлов в модулях символов. В настоящее время наиболее широко (речь идет о Microsoft) используется формат PDB версии 2 (MS Visual Studio 6.0) и PDB 7.0 (MS Visual Studio 7.0+). Данные форматы обеспечивают возможность получения расширенной информации об исполняемых модулях, в том числе возможность разбора стека, получения локальных переменных и т. д.

Сбой системы (также называемый "Проверка ошибок" или "Stop-ошибка") происходит, если Windows не удается правильно запустить. A system crash (also known as a “bug check” or a "Stop error") occurs when Windows can’t run correctly. Файл дампа, созданный из этого события, называется аварийным дампом системы. The dump file that is produced from this event is called a system crash dump.

Файл дампа памяти вручную может быть полезен при устранении нескольких проблем, поскольку процесс захватывает запись системной памяти на момент аварийного завершения работы. A manual kernel or complete memory dump file is useful when you troubleshoot several issues because the process captures a record of system memory at the time of a crash.

Настройка файлов страниц Set up page files

Дополнительные сведения о том, как изменить размер файла подкачки для создания дампа системы, приведены в разделе Поддержка аварийных дампов системы . See Support for system crash dumps for the page file size requirement for system crash dump.

Параметр включения дампа памяти Enable memory dump setting

Для выполнения этой процедуры необходимо войти в систему с учетной записью администратора или члена группы администраторов. You must be logged on as an administrator or a member of the Administrators group to complete this procedure. Если компьютер подключен к сети, параметры сетевой политики могут препятствовать выполнению этой процедуры. If your computer is connected to a network, network policy settings may prevent you from completing this procedure.

Читайте также:  Бюджетные наушники с хорошим басом

Чтобы включить параметр дампа памяти, выполните указанные ниже действия. To enable memory dump setting, follow these steps:

На панели управлениявыберите система и > системабезопасности. In Control Panel, select System and Security > System.

Выберите пункт Дополнительные параметры системыи перейдите на вкладку Дополнительно . Select Advanced system settings, and then select the Advanced tab.

В области Загрузка и восстановление выберите пункт Параметры. In the Startup and Recovery area, select Settings.

Убедитесь, что в разделе запись отладочной информациивыбран параметр дампа памяти ядра или полный дамп памяти . Make sure that Kernel memory dump or Complete memory dump is selected under Writing Debugging Information.

Перезагрузите компьютер. Restart the computer.

Вы можете изменить путь к файлу дампа, изменив поле файл дампа . You can change the dump file path by edit the Dump file field. Другими словами, вы можете изменить путь из%Системрут%мемори.ДМП, чтобы он указывал на локальный диск, на котором достаточно свободного места, например Е:мемори.ДМП. In other words, you can change the path from %SystemRoot%Memory.dmp to point to a local drive that has enough disk space, such as E:Memory.dmp.

Советы по созданию дампов памяти Tips to generate memory dumps

При сбое и перезапуске компьютера содержимое физического ОЗУ записывается в файл подкачки, который находится в разделе, на котором установлена операционная система. When the computer crashes and restarts, the contents of physical RAM are written to the paging file that is located on the partition on which the operating system is installed.

В зависимости от скорости жесткого диска, на котором установлена операционная система Windows, дамп более 2 гигабайт (ГБ) памяти может занять много времени. Depending on the speed of the hard disk on which Windows is installed, dumping more than 2 gigabytes (GB) of memory may take a long time. Даже в случае, если файл дампа настроен так, чтобы он находился на другом локальном жестком диске, на жесткий диск будут прочитаны и записаны значительные объемы данных. Even in a best case scenario, if the dump file is configured to reside on another local hard drive, a significant amount of data will be read and written to the hard disks. Это может вызвать длительный сбой сервера. This can cause a prolonged server outage.

Используйте этот метод для создания полных файлов дампа памяти с осторожностью. Use this method to generate complete memory dump files with caution. В идеале это следует делать только в том случае, если вы явным образом запрашиваете специалист службы поддержки Майкрософт. Ideally, you should do this only when you are explicitly requested to by the Microsoft Support engineer. Любая Отладка файлов ядра и полных дампов памяти должна быть последней после того, как все стандартные методы устранения неполадок будут полностью исчерпаны. Any kernel or complete memory dump file debugging should be the last resort after all standard troubleshooting methods have been completely exhausted.

Создание файла дампа памяти вручную Manually generate a memory dump file

Использование средства Нотмифаулт Use the NotMyFault tool

Если вы можете войти в систему во время возникновения проблемы, вы можете воспользоваться средством Microsoft Sysinternals Нотмифаулт. If you can log on while the problem is occurring, you can use the Microsoft Sysinternals NotMyFault tool. Для этого выполните следующие действия: To do this, follow these steps:

Скачайте средство нотмифаулт . Download the NotMyFault tool.

Читайте также:  Возведение в степень javascript

Нажмите кнопку Пуски выберите пункт Командная строка. Select Start, and then select Command Prompt.

В командной строке выполните следующую команду: At the command line, run the following command:

Эта операция создает файл дампа памяти и ошибку остановки D1. This operation generates a memory dump file and a D1 Stop error.

Использовать немаскируемое прерывание Use NMI

На некоторых компьютерах нельзя использовать клавиатуру для создания файла аварийной копии памяти. On some computers, you cannot use keyboard to generate a crash dump file. Например, для управления серверами Hewlett-Packard (HP) Бладесистем из компании Hewlett-Packard вы используете графический интерфейс пользователя (GUI), основанный на браузерах. For example, Hewlett-Packard (HP) BladeSystem servers from the Hewlett-Packard Development Company are managed through a browser-based graphical user interface (GUI). Клавиатура не подключена к серверу HP Бладесистем. A keyboard is not attached to the HP BladeSystem server.

В этих случаях необходимо создать полный файл аварийной копии памяти или файл аварийного дампа ядра с помощью переключателя немаскируемое прерывание (NMI), который вызывает прерывание на системном процессоре. In these cases, you must generate a complete crash dump file or a kernel crash dump file by using the Non-Maskable Interrupt (NMI) switch that causes an NMI on the system processor.

Для этого выполните следующие действия: To do this, follow these steps:

Внимательно выполните действия, описанные в этом разделе. Follow the steps in this section carefully. Неправильное изменение реестра может привести к серьезным проблемам. Serious problems might occur if you modify the registry incorrectly. Перед тем как вносить изменения, создавайте резервную копию реестра для восстановления на случай возникновения проблем. Before you modify it, back up the registry for restoration in case problems occur.

В редакторе реестра найдите следующий подраздел реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl In Registry Editor, locate the following registry subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl

Щелкните правой кнопкой мыши крашконтрол, выберите пункт создать, а затем — параметр DWORD. Right-click CrashControl, point to New, and then click DWORD Value.

Введите Нмикрашдумп и нажмите клавишу ВВОД. Type NMICrashDump, and then press Enter.

Щелкните правой кнопкой мыши нмикрашдумпи выберите команду изменить. Right-click NMICrashDump, and then select Modify.

В поле значение введите 1и нажмите кнопку ОК. In the Value data box, type 1, and then select OK.

Перезагрузите компьютер. Restart the computer.

Производители оборудования, например HP, IBM и Dell, могут предоставлять функцию автоматического восстановления системы (ASR). Hardware vendors, such as HP, IBM, and Dell, may provide an Automatic System Recovery (ASR) feature. Вы должны отключить эту функцию во время устранения неполадок. You should disable this feature during troubleshooting. Например, если в BIOS включена функция HP и Compaq ASR, отключите эту функцию, когда вы можете устранить неполадки с созданием полного файла Memory. dmp. For example, if the HP and Compaq ASR feature is enabled in the BIOS, disable this feature while you troubleshoot to generate a complete Memory.dmp file. Для получения точных инструкций обратитесь к поставщику оборудования. For the exact steps, contact your hardware vendor.

Включите выключатель NMI в BIOS или с помощью встроенного веб-интерфейса света (iLO). Enable the NMI switch in the BIOS or by using the Integrated Lights Out (iLO) Web interface.

Точные инструкции можно найти в справочной документации по BIOS или у поставщика оборудования. For the exact steps, see the BIOS reference manual or contact your hardware vendor.

Протестируйте этот метод на сервере с помощью переключателя NMI, чтобы создать файл дампа. Test this method on the server by using the NMI switch to generate a dump file. Вы увидите неисправность 0x00000080 оборудования. You will see a STOP 0x00000080 hardware malfunction.

Ссылка на основную публикацию
Adblock detector