Как прочитать небольшой файл дампа памяти, созданный Windows в случае сбоя

damp-pamyati-windows-10_8-265x140.jpg

Информацию о проблемах, возникших при работе с ОС Windows, помогают узнать сведения на экране или файлы в памяти – дампы. В них хранятся данные о текущем состоянии процессора, ядра и других компонентов. Сохранение этих сведений нередко отключено в Виндовс 10, поэтому пользователи самостоятельно настраивают их автоматическое появление. Разберемся, для каких целей необходим дамп памяти в ОС Windows 10, какие типы бывают, как установить.

Данные «оперативки» и материалы, имеющие отношение к критической ошибке, попадают в файл. При запуске ОС появляется аварийный дамп, где сохраняется запись отладочной информации. Сбой блокирует функционирование ОС, поэтому dump – единственный способ получения данных о ней. Чем точнее в нем будет описана проблема, тем проще пользователю проанализировать ситуацию и найти способы решения по устранению недочетов в работе ОС.

damp-pamyati-windows-10_1.jpg

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

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

При следующем запуске ОС диспетчер инициализирует данные, проверяет наличие в нем файлов .dmp. Далее содержимое копируется из него в файл аварийного дампа, делаются соответствующие записи.

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

  • Тапнуть кнопкой мышки по значку «Пуск».
  • В открывшемся окошке выбрать раздел «Система».
  • Далее выбрать раздел «Дополнительные параметры».
  • В открывшемся окне выбрать «Параметры».
  • Настроить аварийный дамп.

Желательно ставить галочки напротив значений, связанных с созданием журнала, сохранением информации о системе. Данные при этом могут достигать нескольких сотен гигабайт. Поэтому целесообразно отметить маркером «Заменить существующий файл дампа».

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

В Виндовс предусмотрены различные типы .dmp. К основным видам относятся:

  • Мини-дамп памяти – файл с минимумом данных о BSoD, процессоре, драйверах, которые работали во время появления критической ошибки. Весит 256 Кб, для извлечения информации требуется установка дополнительной утилиты, например, Blue Screen View. Minidump преимущественно пользуются непрофессионалы.
  • Дамп памяти ядра – тоже имеет небольшие размеры, но содержит более подробную информацию, чем m В нем сохраняется информация о памяти ядра, процессора или всей ОС.
  • Полный дамп памяти – копирует оперативку системы. Его размер соответствует объему оперативки, это одновременно является его плюсом и, в то же время, существенным минусом. Его размеры могут оказаться огромными, требуя невероятных размеров памяти устройства. Он недоступен на устройствах с оперативной системой 32 бита.
  • Автоматический дамп памяти – новый вид, который разработчики впервые ввели в Виндовс 8. Система самостоятельно решает, какой dump записывать, учитывая особенности сбоя, частоту его проявления.
  • Активный дамп памяти – внедрен в Виндовс 10, отсортировывает компоненты, неспособные распознать причину ошибки. Полезен для серверов и других виртуальных сервисов.

Инструмент от разработчиков 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. Если автоматическое создание и сохранение дампов памяти отключено, рекомендуется активировать их. Чаще причиной отключения файлов становятся утилиты для очистки ПК и оптимизации работы системы.

23.10.202016:501123Евгений ВерещакаИнформационный портал IT Техник 02 окт в 2020 7K

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

Что такое дамп базы данных

Дамп (англ. dump – сбрасывать) – файл, включающий в себя содержимое памяти компьютера или базы данных. В нашем случае это файл с расширением .sql. Он содержит особые данные, благодаря которым можно легко воссоздать копию БД.

Копирование базы данных может быть полезно, когда нужно выполнить: 

  • Перенос данных на другой хостинг. Не нужно повторно создавать БД и вносить в нее все данные руками. Достаточно создать дамп и импортировать его в новый проект.
  • Резервное копирование. Отличный способ для экспериментов с веб-сайтом или сервером: вносите корректировки в базу данных и не бойтесь, что произойдет сбой. В случае неисправности всегда можно будет все восстановить из дампа.

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

Создаем дамп базы данных MySQL

Существует несколько способов создания дампов: через консольное окно или с помощью phpMyAdmin. Рассмотрим последовательно каждый из методов, а также попробуем восстановить БД из дампа.

Способ 1: Консольное окно MySQL

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

Для подключения вы можете воспользоваться такими программами, как PuTTY и WinSCP – они распространяются в бесплатном доступе. Остановимся на первой утилите и посмотрим, как с ее помощью можно сделать дамп базы данных MySQL.

  1. Открываем официальный сайт Putty и загружаем оттуда последнюю версию программы.
  2. Устанавливаем к себе на компьютер PuTTY и запускаем ее. Первым делом переходим в раздел «Connection» и находим там подраздел «Tunnels». В нем изменяем следующие параметры: указываем 336 в строке «Source port» и прописываем localhost:3306 в «Destination». В завершение нажимаем на кнопку «Add» — это действие позволит нам добавить созданный порт.
  3. Переходим в раздел «Sessions» — там вводим свой адрес или домен, в нижней части жмем на «Open».
  4. Вводим логин и пароль для подключения к БД.

Обратите внимание, что если на компьютере функционирует сервер с БД, то соединение через порт 3306 будет некорректно. В таких случаях рекомендуется использовать другие значения, например, 3307, 3308 и так далее.

Теперь мы можем переходить к удаленному администрированию БД: создадим дамп базы данных MySQL. Для этого введем в консоль следующий запрос:

  mysqldump -uDataBase -pPASSWRD  DataBase_NAME > FileName
  • -uDataBase —имя базы в формате типа -u[root]
  • -pPasswrd —пароль от базы в формате типа -p[123456]
  • DataBase_NAME — имя БД
  • FileName — название файла

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

  mysqldump -u -p DataBase_NAME > FileNameToSave

Для понимания можете взглянуть на пример с использованием пользователя и пароля:

  mysqldump -uAdmin -p123456789 WordPressDB > WordPressDump.sql

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

  mysql -uUSER -pPASSWRD -f DataBase_NAME < FileNameToEnter

Аналогично подставляем свои данные в команду и в итоге получаем:

  mysql -uWordPressDB -p123456789 -f WordPressDB < WordPeressDump.sql

Также при импорте мы можем указать кодировку — для этого достаточно добавить ключ default-character-set. В итоге код преобразуется:

  mysql -uAdmin -p123456789 -f --default-character-set=cp1251 WordPressDB < WordPeressDump.sql

Вот такими несложными действиями можно сделать копирование через консольное окно. Теперь давайте «покопаемся» в phpMyAdmin и выполним в нем копирование БД.

Способ 2: Инструмент phpMyAdmin

PhpMyAdmin по умолчанию предустановлен на каждой CMS. Доступ к нему осуществляется через личный кабинет пользователя на хостинге либо через локальный веб-сервер на домашнем ПК.

Подключаемся к phpMyAdmin и экспортируем БД:

  1. Открываем личный кабинет хостинга, на котором установлен веб-ресурс, и переходим в phpMyAdmin. На Timeweb это выполняется через раздел «База данных MySQL». Если вы используете локальный сервер на OpenServer, то достаточно в панели задач кликнуть правой кнопкой мыши по его иконке, перейти в меню «Дополнительно» и выбрать «PhpMyAdmin».
  2. Вводим логин и пароль, в результате чего попадаем в систему phpMyAdmin. В левой части выбираем БД для копирования и кликаем по ней левой кнопкой мыши.
  3. Переходим в раздел «Экспорт» и выбираем метод экспорта. Первый минимизирован – получится обычная БД без особых настроек, второй разрешает вносить важные уточнения. Например, мы можем удалять таблицы, изменять кодировку, добавлять особые параметры формата и многое другое. Перед сохранением файла указываем его формат и только потом нажимаем на кнопку «Вперед».

После этого нам будет предложен выбор места сохранения файла. В последующем мы сможем его использовать через вкладку «Импорт». Для этого достаточно загрузить файл и указать подходящую для него кодировку:

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

Илья Смолин +146 busesarefrank@gmail.com

Аварийный дамп памяти Windows 10

При возникновении критической ошибки при работе с Windows пользователь может задаться вопросом: каким образом можно получить доступ к аварийному дампу памяти Windows? Подобный дамп при правильной настройке конфигурации системы поможет запустить систему в случае сбоя или так называемого синего экрана смерти (BSOD).

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

Дамп памяти Windows 10

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

Для чего нужен дамп памяти

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

Чем более точно содержимое дампа памяти будет отражать происходившее в системе на момент сбоя, тем проще будет при анализе аварийной ситуации и дальнейших действиях по её исправлению.

Крайне важно получить актуальную копию именно в тот момент, который был непосредственно перед сбоем. И единственный способ это сделать — создать аварийный дамп памяти Windows 10.

Причины появления ошибок в Windows 10 очень разнообразны

— несовместимость подключаемых устройств;

— новые обновления Windows 10;

— несовместимость устанавливаемых драйверов;

— несовместимость устанавливаемых приложений;

— и прочие причины.

Как настроить дамп памяти в Windows 10

Для того чтобы настроить аварийный дамп памяти Windows 10 необходимо придерживаться следующих действий:

1. Правой кнопкой мыши кликаем на пуск Windows 10. В появившемся контекстном меню выбираем пункт «Система».

2. В окне «Система» в верхнем углу слева выбираем «Дополнительные параметры системы».

3. В окне «Свойства системы» в пункте «Загрузка и восстановление» нажимаем «Параметры».

Тут и происходит настройка аварийного дампа памяти Windows 10.

Настраивая дамп памяти можно не пренебрегать следующими рекомендациями:

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

— Запись отладочной информации. Эта функция позволит выбрать вид дамп файла;

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

— Запись события в системный журнал. Информация о системном сбое будет добавлена в логи операционной системы.

Дамп памяти Windows 10 является удобным и действительно работающим методом страховки системных данных.

Зная «врага в лицо» его будет в разы проще найти и ликвидировать. Дамп памяти Windows 10 позволит выявить причину системного сбоя и скорректировать действия по ликвидации ошибки, значительно уменьшив радиус усилий и работ.

Что такое дамп памяти и как его включить на Windows 10

Windows очень хрупкое творение и чуть что, любое неправильное действие со стороны пользователя влечёт возникновение критических ошибок, и не очень. Узнать информацию по синим экранам смерти, являющимися теми самыми критическими проблемами, помогают сведения, написанные на самом экране, а ещё специальные файлы дампы памяти – сохраняющие данные о причинах появления BsoD. Настоятельно рекомендую включать эту функцию, так как никто не застрахован от появления синего экрана, даже опытный пользователь. Сами дампы памяти обычно хранятся по пути C:WindowsMEMORY.DMP, либо C:WindowsMinidump – где хранятся так называемые малые дампы памяти. Кстати говоря, малый дамп памяти будет тем файлом, который поможет узнать причину появления BsoD.

Как включить функцию дамп памяти на Windows 10 и настроить её

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

Нажмите по значку поиска и введите фразу «Панель управления», чтобы открыть окно этого инструмента.

Переводим отображение значков в вид «Мелкие значки», а потом переходим в раздел «Система».

Откроется окошко, где с левой стороны нажимаем по опции «Дополнительные параметры системы».

Во вкладке «Дополнительно» жмём пунктик «Параметры» раздела «Загрузка и восстановление».

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

Сведения о других дампах памяти

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

  • Малый дамп памяти – мини дамп, который сохраняется по специальному пути и весит 256 Килобайт. В таком файле хранится основная информация по синим экранам смерти и системным процессам. Если необходимо узнать причину BSOD, то достаточно именно малого дампа памяти. Для извлечения сведений используется программа BlueScreenView или похожие. Такой способ может использовать любой новичок.
  • Дамп памяти ядра – файл будет содержать такие же сведения, что у автоматического типа. Единственное отличие в изменении системой файла подкачки. Какой вариант выбрать? Думаю, что сразу автоматический тип.
  • Полный дамп памяти – в файлике находится полные данные об оперативной памяти, а значит объем файла будет равен размеру оперативки. Стоит у вас на ПК 8 Гб, столько будет на диске занимать файл полного дампа памяти. Для новичков этот вариант особо не пригоден.
  • Активный дамп памяти – первое появление в Windows 10. Больше пригоден для серверов и хранит данные об активной памяти и режимах ядра, а также текущего пользователя.

Как удалить файла дампа памяти

Очень просто, вы заходите по пути расположения этих файлов и вручную их удаляете. Например, файла полного дампа памяти называется MEMORY.DMP, просто удалите его и всё. При использовании инструмента «Очистка диска» тоже есть возможность удалить файлы дампов.

  • Нажмите комбинацию

«Win+R» и введите команду cleanmgr. </ul>Найдите строчки файла дампа памяти. Если таковых не обнаружено, значит их еще не существует.

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

Как включить создание дампа памяти в Windows 10

Дамп памяти (снимок состояния оперативной, содержащий отладочную информацию) — то, что часто оказывается наиболее полезными при возникновении синего экрана смерти (BSoD) для диагностики причин возникновения ошибок и их исправления. Дамп памяти сохраняется в файл C:WindowsMEMORY.DMP, а мини дампы (малый дамп памяти) — в папку C:WindowsMinidump (подробнее об этом далее в статье).

Автоматическое создание и сохранение дампов памяти не всегда включено в Windows 10, и в инструкциях на тему исправления тех или иных ошибок BSoD мне время от времени приходится описывать и путь включения автоматического сохранения дампов памяти в системе для последующего просмотра в BlueScreenView и аналогах — потому и было решено написать отдельное руководство именно о том, как включить автоматическое создание дампа памяти при ошибках системы, чтобы в дальнейшем ссылаться на него.

Настройка создания дампов памяти при ошибках Windows 10

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

  1. Зайдите в панель управления (для этого в Windows 10 вы можете начать набирать «Панель управления» в поиске на панели задач), если в панели управления в поле «Просмотр» включено «Категории», установите «Значки» и откройте пункт «Система».
  2. В меню слева выберите пункт «Дополнительные параметры системы».
  3. На вкладке «Дополнительно» в разделе «Загрузка и восстановление» нажмите кнопку «Параметры».
  4. Параметры создания и сохранения дампов памяти находятся в разделе «Отказ системы». По умолчанию включены опции записи в системный журнал, автоматической перезагрузки и замены существующего дампа памяти, создается «Автоматический дамп памяти», хранящийся в %SystemRoot%MEMORY.DMP (т.е. файл MEMORY.DMP внутри системной папки Windows). Параметры для включения автоматического создания дампов памяти, используемые по умолчанию вы также можете увидеть на скриншоте ниже.

Опция «Автоматический дамп памяти» сохраняет снимок памяти ядра Windows 10 с необходимой отладочной информацией, а также память, выделенную для устройств, драйверов и ПО, работающего на уровне ядра. Также, при выборе автоматического дампа памяти, в папке C:WindowsMinidump сохраняются малые дампы памяти. В большинстве случаев этот параметр оптимален.

Помимо «Автоматический дамп памяти» в параметрах сохранения отладочной информации есть и другие варианты:

  • Полный дамп памяти — содержит полный снимок оперативной памяти Windows. Т.е. размер файла дампа памяти MEMORY.DMP будет равен объему используемой (занятой) оперативной памяти на момент появления ошибки. Обычному пользователю обычно не требуется.
  • Дамп памяти ядра — содержит те же данные что и «Автоматический дамп памяти», по сути это одна и та же опция, за исключением того, как Windows устанавливает размер файла подкачки в случае выбора одной из них. В общем случае вариант «Автоматический» подходит лучше (подробнее для интересующихся, на английском — здесь.)Малый дамп памяти — создание только мини дампов в

ndowsMin ></ul>

В случае, если вам нужно удалить дамп памяти, вы можете сделать это вручную, удалив файл MEMORY.DMP в системной папке Windows и файлы, содержащиеся в папке Minidump. Также можно использовать утилиту «Очистка диска» Windows (нажать клавиши Win+R, ввести cleanmgr и нажать Enter). В «Очистке диска» нажмите кнопку «Очистить системные файлы», а затем в списке отметьте файла дампа памяти для системных ошибок, чтобы удалить их (при отсутствии таких пунктов можно предположить, что дампы памяти пока не создавались).

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

Анализ креш-дампов памяти Windows

Как часто Вам приходится лицезреть экран смерти Windows (BSoD)? BSoD может возникать в разных случаях: как уже при работе с системой, так и в процессе загрузки операционной системы. Как же определить, чем вызвано появление BSoD и устранить эту проблему? Операционная система Windows способна сохранять дамп памяти при появлении ошибки, чтобы системный администратор мог проанализировать данные дампа и найти причину возникновения BSoD.

Существует два вида дампов памяти — малый (minidump) и полный. В зависимости от настроек операционной системы, система может сохранять полный или малый дампы, либо не предпринимать никаких действий при возникновении ошибки.

Малый дамп располагается по пути %systemroot%minidump и имеет имя вроде Minixxxxxx-xx.dmp Полный дамп располагается по пути %systemroot% и имеет имя вроде Memory.dmp

При выборе отладчика следует учитывать версию операционной системы, на которой Вам придется анализировать дампы памяти. Для 32-разрядной ОС необходима 32-битовая версия отладчика, а для 64-разрядной ОС предпочтительно использовать 64-битовую версию отладчика.

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

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

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

Можно запрашивать информацию о требуемых отладочных символах прямо через Интернет, с публичного сервера Microsoft. Таким образом у вас будет самая новая версия символов. Сделать это можно следующим образом — в меню File > Symbol File Path… вводим: SRV*%systemroot%symbols*http://msdl.microsoft.com/download/symbols

После указания пути к отладочным символам, выбираем в меню File > Save workspace и подтверждаем действие нажатием на кнопку OK.

Чтобы приступить к анализу дампа памяти, выбираем в меню File > Open Crash Dump… и выбираем требуемый для рассмотрения файл.

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

Команда !analyze -v, данная отладчику в командной строке, выведет более детальную информацию.

Завершить отладку можно выбором пункта меню Debug > Stop Debugging

Таким образом, используя пакет Debugging Tools for Windows, всегда можно получить достаточно полное представление о причинах возникновения системных ошибок.

</li>

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

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

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

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

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

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

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

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

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

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

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

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

  1. Нажать правой кнопкой мыши на значке “Мой Компьютер” – “Свойства” – “Дополнительные параметры системы” – “Дополнительно”.
  2. Кнопка “Пуск” – “Панель управления” – “Система” – “Дополнительные параметры системы” – “Дополнительно”.
  3. Сочетание клавиш “Windows” + “Pause” – “Дополнительные параметры системы” – “Дополнительно”.
  4. Выполнить в командной строке (cmd):control system.cpl,,3
  5. Выполнить в командной строке (cmd):SystemPropertiesAdvanced

Результатом описанных действий является открытие окна “Свойства системы” и выбор вкладки “Дополнительно”:startup-and-recovery.png

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

configure-memory-dump.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl

Параметры:

Параметр Тип Описание
AutoReboot REG_DWORD Включение/отключение автоматической перезагрузки при возникновении BSOD.
CrashDumpEnabled REG_DWORD
  • 0 – не создавать дамп памяти;
  • 1 – полный дамп памяти;
  • 2 – дамп памяти ядра;
  • 3 – малый дамп памяти;

</tr>DumpFile</td> REG_EXPAND_SZ </td> Путь и название дампа памяти ядра и полного дампа памяти. </td></tr>DumpFilters</td> REG_MULTI_SZ </td> Драйвер-фильтр в стеке драйверов дампа памяти. Позволяет добавлять новый функционал на этапе создания аварийных дампов. Например, шифрование содержимого дампа. Изменять значение не рекомендуется. </td></tr>LogEvent</td> REG_DWORD </td> Запись события в системный журнал. </td></tr>MinidumpDir</td> REG_EZPAND_SZ </td> Путь и название малого дампа памяти. </td></tr>MinidumpsCount</td> REG_DWORD </td> Максимальное количество малых дампов памяти. При превышении начинают затираться более старые версии. </td></tr>Overwrite</td> REG_DWORD </td> Заменять существующий файл дампа. Только для дампа памяти ядра и полного дампа памяти. </td></tr>IgnorePagefileSize</td> REG_DWORD </td> Игнорирует стандартный файл подкачки как место для временного (промежуточного) хранения дампа памяти. Указывает на необходимость записать дамп памяти в отдельный файл. Используется совместно с опцией DedicatedDumpFile. </td></tr>DedicatedDumpFile</td> REG_EZPAND_SZ </td> Путь и название временного альтернативного файла для записи дампа памяти. Во втором проходе данные все равно будут перемещены в DumpFile/MinidumpDir. </td></tr></tbody></table>

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

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

Файлы настроек реестра

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

Скачать: Малый дамп памяти

Скачать: Дамп памяти ядра

Скачать: Полный дамп памяти

Похожие записи:

Используемые источники:

  • https://it-tehnik.ru/windows10/nastroyka/damp-pamyati.html
  • https://timeweb.com/ru/community/articles/chto-takoe-damp-bazy-dannyh-i-kak-ego-sdelat
  • https://siniy-ekran.ru/poleznoe/avarijnyj-damp-pamjati-windows-10-chto-jeto-takoe-gde-nahoditsja-kak-nastroit/
  • http://datadump.ru/windows-crash-dump/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
7th-studio.ru
Добавить комментарий