Аварийный дамп памяти windows 7. Аварийный дамп памяти Windows

06.09.2023

Синий экран с надписью ошибка дампа памяти, которая всплывает на экране, прежде чем система пытается перезагрузиться, меняя свой цвет на синий, может быть из-за нескольких причин, благодаря которым операционная система перестает работать должным образом. Благодаря этому всё содержимое оперативной памяти автоматически сбрасывается в файл, содержащий данные. Такое сообщение возникает в основном случайным образом в операционной системе Windows, когда система перезагружается и начинается демпинг физической памяти и для тех, кто знаком с ней называют это как синий экран смерти.
Выявить эту ошибку довольно легко, так как сообщение описывает её и меняет цвет экрана на синий, и ваша система снова и снова перезагружается. Существуют различные причины, из-за которой операционная система перестает функционировать так, как она должна была работать. Самая распространенная причина для появления ошибки физического дампа памяти является отсутствие совместимости между программными и аппаратными компонентами.

Как правило, операционная система Windows способна одновременно выполнять многозадачность, но иногда, когда в системе запущенны много процессов с аналогичными уровнями приоритета, может возникать эта ошибка.

Основная причина, по которой эта ошибка возникает — это проблема реестра Windows. Две других вышеупомянутых ошибки можно легко решить, но это должно быть правильно обработано с пошаговыми процедурами для того, чтобы система снова начала работать нормально. Подлинная версия Windows будет функционировать должным образом, так эти файлы реестра являются очень известными, и если они отсутствуют, то это может вызвать ошибки синего экрана.

Как исправить синий экран ошибка дампа памяти?

Существуют различные способы с помощью которых можно решить эту проблему дампа памяти в кратчайшие сроки. Иногда есть только одна ошибка, которая является причиной синего экрана, которая должна быть предложена или всплывает на экране с синим экраном, но если нет такого сообщения об ошибке, то можно найти её исправление путём сортировки следующих вопросов:

1. Проверить диспетчер устройств

Есть огромный шанс, что в связи с проблемами совместимости между новым оборудованием или программным обеспечением, между уже установленными драйверами, происходит ошибка и появляется синий экран.

В таких случаях существует только одно решение — удалить предыдущие версии аппаратного или программного обеспечения, которое является причиной ошибки и заменить его новой версией, переустановив его.

При установке новой версии, чтобы избежать дальнейших ошибок, всегда нужно убедиться, что эти драйверы совместимы с операционной системой которую вы используете на вашем компьютере. В интернете доступно различное стороннее программное обеспечение, которое помогают отследить все те драйвера, которые недавно были установлены, и программа также проверяет, если они еще имеют какие-либо проблемы или нет.

Если есть проблема с драйверами, то есть также вероятность, что драйвер устройства, которое вы используете, имеет проблемы в себе, которая вызывает операционную систему не работать должным образом. Таким образом, появляется синий экран смерти.

2. Восстановление реестра Windows

Для любой операционной системы, чтобы она могла нормально работать, необходимо иметь все файлы правильно установленные и проверенные. Файл реестра операционной системы — это очень важный файл, который должен присутствовать в системных файлах.

Бывают случаи, когда файл реестра операционной системы включает в себя различные недействительные записи, которые даже не присутствуют в системе или файл реестра поврежден. Это приводит к ошибке дампа памяти, которая вызывает синий экран.

Для тех, кто имеет тонкие знаниях об операционной системе и нормальный доступ к интернету могут обновить его сами, но этот метод также может быть рискованным. Для лучшего шанса совершенства, всегда покупайте подлинное программное обеспечение, которое берёт на себя все проблемы реестра.

Оно автоматически сканирует и исправляет проблемы для любого вопроса, касающегося реестра операционной системы.

3. Проверить модули памяти

Иногда синий экран и какое-то сообщение об ошибке также появляется, которое обычно гласит: “UNEXPECTED_KERNEL_MODE_TRAP”, такая ошибка обычно означает, что ошибка возникает в основном из-за проблемы с памятью.

Для решения вопроса с памятью вашего компьютера, необходимы два основных модуля которые могут быть проверены SIMM и CMOS. SIMM стенды для одиночных модулей встроенной памяти, который обрабатывает совместимость скорости работы операционной системы и КМОП расшифровывается как Комплементарный металло-оксидный полупроводник, которые должны быть установлены правильно согласно конфигурации оперативной памяти.

В большинстве случаев, проверяя эти два модуля могут сделать чудеса, если фиксируются синий экран с ошибками, но если нет, то есть только одно решение — это замена всей установленной памяти операционной системы.

4. Ремонт жесткого диска, который поврежден

Поврежденный жесткий диск также может быть причиной синего экрана дампа памяти в вашем компьютере. Операционная система Windows разработана таким образом, что она имеет функциональность диагностического сканирования, которое проверяет жесткий диск как он работает нормально или нет, а также проверяет его на ошибки, которые вызывают проблемы.

Но в силу каких-то причин эти диагностические функции перестают работать и не могут проверять или прочитать любой жесткий диск. В таких ситуациях для устранения ошибок должен быть проверен терминатор, который представляет собой интерфейс.

5. Проверка на вирусы

Если все вышеперечисленные причины не помогли исправить ошибку синий экран, то должна быть причина, которая блокирует все возможности и вызывает эту ошибку дампа памяти.

Эта причина может быть из-за вируса или любой другой вредоносной программы, присутствие которой останавливает операционную систему, чтобы она функционировала должным образом. Есть существенный поток данных между операционной системой и жестким диском и после вируса или любой другой вредоносной программы жёсткий диск может быть повреждён, в результате поток также прерывается.

Это может привести к синему экрану смерти, что, и конечном счете, начинается демпинг физической памяти, и снова и снова перезапуск системы.

Такого рода ошибки могут быть решены путем загрузки подлинной версии антивируса на ваш компьютер, но если у вас уже установлен антивирус, то есть только одно решение, то есть удалить эту версию и скачать новую версию антивируса.

После того, как файл, который сканируется правильно и будет удалён из вашей системы, пользователь должен проверить еще раз наличие синего экрана после перезагрузки компьютера.

Или как его еще называют BSOD, может изрядно подпортить жизнь как компьютеру так и серверу, а еще выяснилось и виртуальной машине. Сегодня расскажу как анализировать синий экран dump memory в Windows, так как правильная диагностика и получение причины из за чего не работает ваша система, 99 процентов ее решения, тем более системный инженер, просто обязан уметь это делать, да и еще в кратчайшие сроки, так как от этого бизнес может в следствии простоя сервиса, терять кучу денег.

BSOD расшифровка

Давайте для начала разберем, что означает данная аббревиатура, BSOD от английского Blue Screen of Death или еще режим STOP ошибки.

Ошибки синего экрана смерти возникают по разным причинам, среди которых могут быть проблемы с драйверами, может быть какое то сбойное приложение, или сбойный модуль оперативной памяти. Как только у вас появился синий экран в Windows, то ваша система автоматически создаст файл crash memory dump, который мы и будем анализировать.

Как настроить создание memory dump

По умолчанию windows при синем экране создает аварийный дамп файл memory.dmp, сейчас покажу как он настраивается и где хранится, я буду показывать на примере Windows Server 2008 R2, так как у меня недавно была задача по изучению вопроса синего экрана в виртуальной машине . Для того чтобы узнать где настроен dump memory windows, открываем пуск и щелкаем правым кликом по значку Компьютер и выбираем свойства.

Как анализировать синий экран dump memory в Windows-Свойства компьютера

Как анализировать синий экран dump memory в Windows-параметры системы

Переходим во вкладку Дополнительно-Загрузка и восстановление. Жмем кнопку Параметры

Как анализировать синий экран dump memory в Windows-Загрузка и восстановление

Где хранится файл memory.dmp

и видим, что во первых стоит галка выполнить автоматическую перезагрузку, для записи отладочной информации, выбрано Дамп памяти ядра и ниже есть пусть куда сохраняется дамп памяти %SystemRoot%\MEMORY.DMP

Перейдем в папку c:\windows\ и найдем файл MEMORY.DMP в нем содержаться коды синего экрана смерти

Как анализировать синий экран dump memory в Windows-memory.dmp

Как настроить mini dump

В малый дамп памяти тоже записываются ошибки синего экрана смерти, настраивается он там же, нужно только его выбрать.

Хранится он в папке c:\windows\minidump. Преимущество в том, что он занимает меньше места и на каждый синий экран создается отдельным файлом. Всегда можно просмотреть историю появлений синего экрана.

Теперь когда мы разобрались где искать файл memory dump, нужно научиться его интерпритировать и понимать причину из за чего происходит синий экран смерти. В решении этой задачи нам поможет Microsoft Kernel Debugger. Скачать Microsoft Kernel Debugger можно с официального сайта, главное выберите нужную версию ОС если кому то влом, то можете скачать с яндекс диска по прямой ссылке. Так же он входит в состав ADK .

Скачиваем Microsoft Kernel Debugger, в итоге у вас будет маленький файл который позволит скачать из интернета все что вам нужно. Запускаем его.

присоединяться к программе по улучшению качества участвовать не будем

жмем Accept и соглашаемся с лицензией

Как установить Microsoft Kernel Debugger-соглашаемся с лицензией

начнется установка Microsoft Kernel Debugger

Как установить Microsoft Kernel Debugger-установка MKD

Видим, что Microsoft Kernel Debugger успешно установлен

После чего видим, что в пуске появилась папка Debugging Tools for Windows как для 32 так и для 64 битных систем.

Помимо самого пакета Debugging Tools for Windows, также понадобятся набор отладочных символов - Debugging Symbols. Набор отладочных символов специфичен для каждой ОС, на которой был зафиксирован BSoD. Потому придется загрузить набор символов для каждой ОС, анализировать работу которой Вам придется. Для 32-разрядной Windows XP потребуются набор символов для Windows XP 32-бит, для 64-разрядной ОС потребуются набор символов для Windows XP 64-бит. Для других ОС семейства Windows наборы символов подбираются сообразно такому же принципу. Загрузить отладочные символы можно отсюда . Устанавливать их рекомендуется по адресу %systemroot%\symbols хотя мне нравится устанавливать их в отдельные папки и не захламлять папку Windows.

Анализ синего экрана в Debugging Tools

После установки Debugging Symbols под систему на которой был синий экран смерти запускаем Debugging Tools

Как установить Microsoft Kernel Debugger-Запуск

Перед анализом содержимого дампа памяти, потребуется провести небольшую настройку отладчика. Конкретно - сообщить программе, по какому пути следует искать отладочные символы. Для этого выбираем в меню File > Symbol File Path…

Нажимаем кнопку Browse…

и указываем папку, в которую мы установили отладочные символы для рассматриваемого дампа памяти, можно указать несколько папок через запятую и можно запрашивать информацию о требуемых отладочных символах прямо через Интернет, с публичного сервера Microsoft. Таким образом у вас будет самая новая версия символов. Сделать это можно следующим образом - в меню File > Symbol File Path… вводим:

SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols

Как анализировать синий экран смерти

Копируем с компьютера где выскочил синий экран, файл memory.dmp или minidump, и открываем его, выбираем в меню File > Open Crash Dump… и выбираем требуемый для рассмотрения файл.

Как анализировать синий экран смерти-01

Выбираем для примера minidump

Как анализировать синий экран смерти-открываем minidump

Начнется анализ минидампа, видим появилась ссылка на ошибку, щелкаем по ней для более детальной информации о синем экране.

Как анализировать синий экран смерти-03

И видим сбойное приложение которое крушит вашу систему, так же можно еще детальнее посмотреть в чем дело, ткнув ссылку.

Как анализировать синий экран смерти-04

Получите более детальную информацию по причине синего экрана.

Как анализировать синий экран смерти-05

Если открыть memory.dmp то вы получите подобную картину и видим почему синий экран у вас появился.

Как анализировать синий экран смерти-06

Вот так вот просто диагностировать и устранить синий экран смерти.

На следующем шаге выбора компонент к установке (Select the features you want to install ) отмечаем только то, что нам нужно - Debugging tools for Windows и нажимаем Install

В указанную на первом экране папку из Интернета будет загружен и установлен набор утилит.

После окончания установки находим в меню “Пуск” или на стартовом экране в группе ярлыков Windows Kits утилиту WinDbg и запускаем её с правами администратора

Если по какой-то причине ярлык найти не удалось, то можно запустить исполняемый файл из каталога установки - С:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe

В главном меню программы WinDbg выбираем пункты File > Symbol File Path . В открывшееся окно вставляем строку определяющую пусть к локальному каталогу символьного кэша и его онлайн-источнику:

SRV*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

Сохраняем настройки, выбрав в главном меню пункты File > Save Workspace

Открываем файл дампа памяти, выбрав в меню File > Open Crash Dump ...

Выбираем файл MEMORY.DMP (по умолчанию расположен в каталоге C:\Windows ) и нажимаем Open

Появится информация о том, какой именно исполняемый модуль стал причиной остановки работы системы. Щёлкнув по гиперссылке !analyze-v можно получить более развернутую информацию о состоянии системы на момент возникновения стоп-ошибки.

Туже самую информацию можно получить и с помощью командной строки используя примерно следующую последовательность команд:

cd /d "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\ " kd -z "D:\DOWNLOADS\VM05\MEMORY.DMP " .logopen C:\Debuglog.txt .sympath srv*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

В этом примере вся информация о разборе дампа будет выгружена в читаемом виде в файл C:\Debuglog.txt

Источники информации:

Данная небольшая заметка ставит целью своей показать, каким же образом можно сконфигурировать систему, чтобы получить в своё распоряжение аварийный дамп памяти Windows , то есть дамп, который может быть создан в случае возникновения критического сбоя, характеризующегося появлением синего экрана смерти (BSOD). Что же такое дамп вообще, для чего он нам требуется и что из себя представляет, какие проблемы он призван решить и какую информацию содержит в себе?

Дамп памяти (memory dump) - содержимое рабочей памяти процесса, ядра или всей операционной системы, включающий, помимо рабочих областей, дополнительную информацию о состоянии регистров процессора, содержимом стека и прочие служебные структуры.

Для чего нам может потребоваться данное содержимое, то есть дамп памяти Windows ? Пожалуй, наиболее часто дамп памяти используется для изучения причин возникновения системного сбоя (), который явился причиной полного останова операционной системы. В дополнение к этому, состояние памяти может использоваться и для других целей. Немаловажен и тот факт, что дамп памяти - это буквально единственный способ получения информации о любом сбое! А снятие (получение) дампа памяти системы - это, фактически, единственный точный метод получения мгновенного отпечатка (копии) содержимого физической памяти системы.

Чем точнее содержимое дампа будет отражать состояние памяти в момент сбоя, тем подробнее мы сможем проанализировать аварийную ситуацию. Поэтому крайне важно получить именно актуальную копию физической памяти системы в строго определенный момент времени, непосредственно предшествующий сбою. А единственный способ сделать это - создать полный аварийный дамп памяти. Причина достаточно тривиальна - когда происходит создание аварийного дампа памяти системы, в результате ли сбоя, либо в следствии искусственно смоделированной ситуации, система в этот момент получения управления аварийными функциями (KeBugCheckEx) пребывает в абсолютно неизменном (статичном) состоянии, поэтому между моментом возникновения сбоя и моментом окончания записи данных на носитель ничто не изменяет содержимое физической памяти, и она в оригинальном состоянии записывается на диск. Ну это в теории, а в жизни изредка, но встречаются ситуации, что по причине неисправных аппаратных компонентов, сам дамп памяти может быть поврежден, или в процессе записи дампа станция может подвиснуть.

В подавляющем большинстве случаев, с момента начала процесса создания аварийного дампа памяти, и до момента завершения записи содержимого памяти на диск, информация в памяти остается неизменной.

Теоретически, статичность (неизменность) "отпечатка" памяти объясняется тем, что когда вызывается функция KeBugCheckEx , выводящая на экран информацию о сбое и стартующая процесс создания дампа памяти, система уже полностью остановлена и содержимое физической памяти записано в блоки, занимаемые на диске файлом подкачки, после чего, уже в процессе последующей загрузки операционной системы оно сбрасывается в файл на системном носителе. Ну а практически один раз наблюдал ситуацию, когда сбоящая материнская плата не давала сохранить дамп памяти: а) подвисая в процессе работы логики сохранения дампа (процесс не доходил до 100%), б) повреждая файл дампа памяти (отладчик ругался на структуры), в) записывая файлы дампов memory.dmp нулевой длины. Поэтому, не смотря на то, что система в момент создания дампа памяти уже полностью остановлена, и работает только аварийный код, сбойное железо может вносить свои коррективы в любую без исключения логику на любом этапе функционирования.
Традиционно, на начальном этапе для сохранения дампа памяти Windows используются блоки диска, выделенные файлу подкачки (pagefile). Затем, после возникновения синего экрана и перезагрузки, данные перемещаются в отдельный файл, а затем файл переименовывается по шаблону, зависящему от типа дампа. Однако, начиная с версии Windows Vista, подобное положение вещей возможно изменить, теперь пользователю дана возможность сохранять выделенный дамп без участия файла подкачки, помещая информацию о сбое во временный файл. Сделано это для того, чтобы исключить ошибки конфигурации, связанные с неправильной настройкой размера и положения файла подкачки, что зачастую приводило к проблемам в процессе сохранения дампа памяти.
Давайте посмотрим, какие же разновидности дампов позволяет нам создавать операционная система Windows:

  • Дамп памяти процесса (приложения);
  • Дамп памяти ядра;
  • Полный дамп памяти (дамп доступной части физической памяти системы).

Все аварийные дампы можно разделить на две основных категории:

  • Аварийные дампы с информацией о возникшем исключении . Обычно создаются в автоматическом режиме, когда в приложении/ядре возникает необрабатываемое исключение (unhandled exception) и, соответственно, может быть вызван системный (встроенный) отладчик. В этом случае информация об исключении записывается в дамп, что упрощает определение типа исключения и места возникновения при последующем анализе.
  • Аварийные дампы без информации об исключении . Обычно создаются пользователем в ручную, когда необходимо создать просто мгновенный снимок процесса для последующего анализа. Анализ этот подразумевает не определение типа исключения, поскольку никакого исключения и не возникало, а анализ совершенно другого рода, например изучение структур данных процесса и прочее.

Конфигурация дампа памяти ядра

Вы должны быть залогинены под административной учетной записью для выполнения действий, описываемых в данном разделе.

Давайте непосредственно перейдем к конфигурированию параметров аварийного дампа памяти Windows. Для начала, нам необходимо зайти в окно свойств системы одним и приведенных способов:

  1. Нажать правой кнопкой мыши на значке "Мой Компьютер" - "Свойства" - "Дополнительные параметры системы" - "Дополнительно".
  2. Кнопка "Пуск" - "Панель управления" - "Система" - "Дополнительные параметры системы" - "Дополнительно".
  3. Сочетание клавиш "Windows" + "Pause" - "Дополнительные параметры системы" - "Дополнительно".

  4. control system.cpl,3
  5. Выполнить в командной строке (cmd):
    SystemPropertiesAdvanced

Результатом описанных действий является открытие окна "Свойства системы" и выбор вкладки "Дополнительно":

После этого в разделе "Загрузка и восстановление" мы нажимаем выбираем "Параметры" и тем самым открываем новое окно под названием "Загрузка и восстановление":

Все параметры аварийного дампа сгруппированы в блоке параметров под названием "Отказ системы". В этом блоке мы можем задать следующие параметры:

  1. Записать события в системный журнал.
  2. Выполнить автоматическую перезагрузку.
  3. Запись отладочной информации.
  4. Файл дампа.
  5. Заменять существующий файл дампа.

Как видите, многие параметры из списка достаточно тривиальны и просты в понимании. Однако, я бы хотел подробнее остановиться на параметре "Файл дампа". Параметр представлен в виде ниспадающего списка, и имеет четыре возможных значения:

Малый дамп памяти (Small memory dump)

Малый дамп памяти (минидамп, minidump) - это файл, который содержит наименьший объем информации о сбое. Самый маленький из всех возможных дампов памяти. Не смотря на очевидные минусы, зачастую именно минидампы используются в качестве информации о сбое для передачи поставщику сторонних драйверов с целью последующего изучения.
Состав:

  • Сообщение об ошибке.
  • Значение ошибки.
  • Параметры ошибки.
  • Контекст процессора (PRCB), на котором произошел сбой.
  • Сведения о процессе и контекст ядра (EPROCESS) для процесса, являющего причиной сбоя, со всеми его потоками.
  • Сведения о процессе и контекст ядра (ETHREAD) для потока, являющегося причиной сбоя.
  • Стек режима ядра для потока, который явился причиной сбоя.
  • Список загруженных драйверов.

Размещение: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp . Где MMDDYY - месяц, день и год соответственно, NN - порядковый номер дампа.
Объем: Размер зависит от разрядности операционной системы: требуется всего-то 128 килобайт для 32-разрядной и 256 килобайт для 64-разрядной ОС в файле подкачки (либо в файле, указанном в DedicatedDumpFile). Поскольку выставить столь малый размер мы не сможем, то округляем до 1 мегабайта.

Дамп памяти ядра (Kernel memory dump)

Данный тип дампа содержит копию всей памяти ядра на момент сбоя.
Состав:

  • Список исполняющихся процессов.
  • Состояние текущего потока.
  • Страницы памяти режима ядра, присутствующие в физической памяти в момент сбоя: память драйверов режима ядра и память программ режима ядра.
  • Память аппаратно-зависимого уровня (HAL).
  • Список загруженных драйверов.

В дампе памяти ядра отсутствуют нераспределенные страницы памяти и страницы пользовательского режима. Согласитесь, ведь маловероятно, что страницы процесса пользовательского режима будут нам интересны при системном сбое (BugCheck), поскольку обычно системный сбой инициируется кодом режима ядра.

Объем: Варьируется в зависимости от размера адресного пространства ядра, выделенной операционной системой и количества драйверов режима ядра. Обычно, требуется около трети объема физической памяти в файле подкачки (либо в файле, указанном в DedicatedDumpFile). Может варьироваться.

Полный дамп памяти (Complete memory dump)

Полный дамп памяти содержит копию всей физической памяти (ОЗУ, RAM) в момент сбоя. Соответственно, в файл попадает и все содержимое памяти системы. Это одновременно преимущество и главный недостаток, поскольку размер его на некоторых серверах с большим объемом ОЗУ может оказаться существенным.
Состав:

  • Все страницы "видимой" физической памяти. Это практически вся память системы, за исключением областей, используемых аппаратной частью: BIOS, пространство PCI и прч.
  • Данные процессов, которые выполнялись в системе в момент сбоя.
  • Страницы физической памяти, которые не отображены на виртуальное адресное пространство, но которые могут помочь в изучении причин сбоя.

В полный дамп памяти не включаются, по-умолчанию, области физической памяти, используемой BIOS.
Размещение: %SystemRoot%\MEMORY.DMP . Предыдущий дамп перезаписывается.
Объем: В файле подкачки (либо в файле, указанном в DedicatedDumpFile) требуется объем, равный размеру физической памяти + 257 мегабайт (эти 257 Мб делятся на некий заголовок + данные драйверов). На деле же, в некоторых ОС, нижний порог файла подкачки можно выставить точно в значение размера физической памяти.

Автоматический дамп памяти (Automatic memory dump)

Начиная с Windows 8/Windows Server 2012, в систему введен новый тип дампа под названием "Автоматический дамп памяти", который устанавливается типом по умолчанию. В этом случае система сама решает, какой дамп памяти записать в ситуации того или иного сбоя. Причем логика выбора зависит от многих критериев, в том числе от частоты "падения" операционной системы.

После изменения конфигурации дампа памяти Windows, может потребоваться перезагрузка компьютера.

Параметры реестра

Раздел реестра, который определяет параметры аварийного дампа:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Параметры:

Параметр Тип Описание
AutoReboot REG_DWORD Включение/отключение автоматической перезагрузки при возникновении BSOD.
CrashDumpEnabled REG_DWORD Вид создаваемого дампа.
  • 0 - не создавать дамп памяти;
  • 1 - полный дамп памяти;
  • 2 - дамп памяти ядра;
  • 3 - малый дамп памяти;
DumpFile REG_EXPAND_SZ Путь и название дампа памяти ядра и полного дампа памяти.
DumpFilters REG_MULTI_SZ Драйвер-фильтр в стеке драйверов дампа памяти. Позволяет добавлять новый функционал на этапе создания аварийных дампов. Например, шифрование содержимого дампа. Изменять значение не рекомендуется.
LogEvent REG_DWORD Запись события в системный журнал.
MinidumpDir REG_EZPAND_SZ Путь и название малого дампа памяти.
MinidumpsCount REG_DWORD Максимальное количество малых дампов памяти. При превышении начинают затираться более старые версии.
Overwrite REG_DWORD Заменять существующий файл дампа. Только для дампа памяти ядра и полного дампа памяти.
IgnorePagefileSize REG_DWORD Игнорирует стандартный файл подкачки как место для временного (промежуточного) хранения дампа памяти. Указывает на необходимость записать дамп памяти в отдельный файл. Используется совместно с опцией DedicatedDumpFile.
DedicatedDumpFile REG_EZPAND_SZ Путь и название временного альтернативного файла для записи дампа памяти. Во втором проходе данные все равно будут перемещены в DumpFile/MinidumpDir.

Ручное создание дампа памяти

Выше мы описывали настройки для автоматического создания аварийных дампов системы в случае возникновения критической ошибки, то есть необрабатываемого исключения в коде ядра. Но ведь в реальной жизни, помимо падения операционной системы, существуют ситуации, когда необходимо получить дамп памяти системы в конкретный момент времени. Как быть в этом случае? Существуют методы получения мгновенной копии всей физической памяти, например с помощью команды.dump в отладчиках WinDbg/LiveKD. LiveKD - программа, позволяющая запускать отладчик ядра Kd в функционирующей системе в локальном режиме. В отладчике WinDbg тоже имеется подобная возможность. Однако метод получения дампа "на лету" не точен, поскольку дамп создается в этом случае "противоречивый", так как для создания дампа требуется время, а в случае использования отладчика режима ядра система продолжает работать и вносить изменения в страницы памяти.

В ОС Windows очень часто случаются ошибки, даже в случае с «чистой» системой. Если обычные ошибки программ решить можно (появляется сообщение о недостающем компоненте), то исправить критические ошибки будет намного сложнее.

Что такое дамп памяти в Windows

Для решения проблем с системой обычно используют аварийный дамп памяти – это снимок части или полного объема оперативной памяти и помещение его на энергонезависимый носитель (жёсткий диск). Другими словами, содержимое оперативной памяти полностью или частично копируется на носитель, и пользователь может провести анализ дампа памяти.

Существует несколько видов дампов памяти:

Малый дамп (Small Memory Dump) – сохраняет минимальный объем ОЗУ, где находятся сведения по критическим ошибкам (BSoD) и компонентах, которые были загружены во время работы системы, например, драйвера, программы. MiniDump хранится по пути C:\Windows\Minidump.

Полный дамп (Complete Memory Dump) – сохраняется полный объем ОЗУ. Это значит, что размер файла будет равен объему оперативной памяти. Если места на диске мало, будет проблематично сохранить, например, 32 Гб. Также бывают проблемы с созданием файла дампа памяти более 4 Гб. Данный вид используется очень редко. Храниться по пути C:\Windows\MEMORY.DMP.

Дамп памяти ядра – сохраняется только информация, относящаяся к ядру системы.

Когда пользователь дойдет до анализа ошибки, ему достаточно использовать только minidamp (малый дамп). Но перед этим он обязательно должен быть включен, иначе распознать проблему не удастся. Также для более эффективного выявления аварии использование полного снимка памяти предпочтительней.

Информация в реестре

Если заглянуть в реестр Windows, то можно обнаружить некоторые полезные параметры снимков. Щелкаем сочетание клавиш Win+R, вводим команду regedit и открываем следующие ветки:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

В данной ветке пользователь обнаружит следующие параметры:

  • AutoReboot – активация или отключение перезагрузки после создания синего экрана смерти (BSoD).
  • DumpFile – название видов дампов и расположение.
  • CrashDumpEnabled – номер создаваемого файла, например, число 0 – дамп не создается; 1 – создание полного дампа; 2 – создание дампа ядра; 3 – создание малого дампа.
  • DumpFilters – параметр позволяет добавить новые функции перед созданием снимка. Например, шифрование файла.
  • MinidumpDir – название малого дампа и его расположение.
  • LogEvent – активация записи сведений в системный журнал.
  • MinidumpsCount – задать количество создаваемых малых дампов. (Превышение этого количества будет уничтожать старые файлы и заменять их).
  • Overwrite – функция для полного дампа или системного. При создании нового снимка, предыдущий будет всегда заменяться на новый.
  • DedicatedDumpFile – создание альтернативного файла снимка и указание его пути.
  • IgnorePagefileSize – используется для временного расположения снимка, без использования файла подкачки.

Как это работает

При возникновении сбоя, система полностью останавливает свою работу и, если создание дампов активно, в файл, помещаемый на диск будет записана информация о возникшей проблеме . Если что-то случилось с физическими компонентами, то будет работать аварийный код, а железо, которое дало сбой будет вносить какие-либо изменения, что обязательно отразится в снимке.

Обычно файл сохраняется в выделенном для файла подкачки блоке жёсткого диска, после появления BSoD файл перезаписывается в тот вид, который пользователь сам и настроил (Малый, полный или дамп ядра). Хотя, в современных ОС участие файла подкачки не обязательно.

Как включить дампы

В Windows 7 :

В Windows 8 и 10 :

Здесь процесс немного похож, в сведения о системе можно попасть точно также, как в Windows 7. В «Десятке» обязательно открываем «Этот компьютер », нажимаем по свободному месту правой кнопочкой мышки и выбираем «Свойства ». По-другому туда можно попасть через Панель управления.

Второй вариант для Wi ndows 10 :


Следует заметить, что в новых версиях Windows 10 появились новые пункты, которых не было в «семерке»:

  • Малый дамп памяти 256 КБ – минимальные данные о сбое.
  • Активный дамп – появился в десятой версии системы и сохраняет только активную память компьютера, ядра системы и пользователя. Рекомендуется использовать на серверах.

Как удалить дамп

Достаточно зайти в каталог, где хранятся снимки памяти и попросту удалить их. Но есть и другой способ удаления – использование утилиты очистки диска:

Если никаких пунктов обнаружено не было, возможно дампы не были включены.

Даже если вы когда-то включали их, некоторые используемые утилиты по оптимизации системы могут легко отключить некоторый функционал . Часто много чего отключается при использовании SSD накопителей, так как многократные процедуры чтения и записи сильно вредят здоровью данного диска.

Анализ дампа памяти при помощи WinDbg

Скачиваем с официального сайта Microsoft данную программу на шаге 2, где описана «Установка WDK » — https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk .

Чтобы работать с программой еще понадобиться специальный пакет отладочных символов. Он называется Debugging Symbols , раньше его можно было скачать с сайта Microsoft, но теперь они отказались от этой идеи и придется использовать функцию программы File — «Symbol File Path », куда следует вписать следующую строчку и нажать ОК:

set _NT_SYMBOL_PATH=srv*DownstreamStore*https://msdl.microsoft.com/download/symbols

Если не сработало, пробуем вот эту команду:

SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols

Снова нажимаем пункт «File» и выбираем опцию «Save Workspace».

Утилита настроена. Остается указать путь до файлов дампов памяти. Для этого нажимаем File и щелкаем опцию «O pen Crash Dump ». Расположение всех дампов указано в начале статьи.

После выбора закончится анализ и проблемный компонент автоматически будет выделен. Для получения большего количества информации в этом же окошке можно ввести такую команду: !analyze –v

Анализ с помощью BlueScreenView

Загрузить инструмент бесплатно можно с этого сайта — http://www.nirsoft.net/utils/blue_screen_view.html . Установка не требует каких-то навыков. Используется только в Windows 7 и выше.

Запускаем и настраиваем. Нажмите «Настройки» (Options) – «Дополнительные параметры » (Advanced Options). Выберите первый пункт «Загружать МиниДампы из этой папки » и указываем каталог — C:\WINDOWS\Minidump . Хотя можно просто нажать кнопку «По умолчанию». Нажимаем ОК.

В главном окне должны появится файлы дампа. Он может быть, как один, так и несколько. Для его открытия достаточно нажать по нему мышкой.

В нижней части окна будут отображены компоненты, которые были задействованы на момент сбоя. Красным цветом будет выделен виновник аварии.

Теперь нажимаем «Файл» и выбираем, например, пункт «Найти в Go ogle код ошибки + драйвер ». Если нашли нужный драйвер, установите и перезагрузите компьютер. Возможно ошибка исчезнет.