0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Работа с дампами памяти в Windows

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

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

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

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

Статья в тему:  Что делать если файл не открывается? Если не открывается файл

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

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

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

Статья в тему:  Установка OpenCart. Opencart: установка и настройка

Анализ файла дампа с 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 .
Статья в тему:  Http 192.168 1.1 личный кабинет. Установка и смена пароля

Теперь перечислю наиболее важные столбцы из нижней области:

  • Имя файла (File name). Указывается наименование драйвера либо модуля
  • Адрес в стеке (Address In Stack). Выводится адрес памяти драйвера из стека памяти.
  • Описание файла (File Description).
  • Версия файла (File Version). Отображается версия файла драйвера.

Как включить создание дампа памяти в 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).

Статья в тему:  Белый дисплей на ноутбуке. Вертикальные полосы на экране

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

Общие сведения об аварийном дампе памяти

Все Windows-системы при обнаружении фатальной ошибки делают аварийный дамп (снимок) содержимого оперативной памяти и сохраняет его на жесткий диск. Существуют три типа дампа памяти:

Полный дамп памяти – сохраняет все содержимое оперативной памяти. Размер снимка равен размеру оперативной памяти + 1 Мб (заголовок). Используется очень редко, так как в системах с большим объемом памяти размер дампа будет слишком большим.

Дамп памяти ядра – сохраняет информацию оперативной памяти, касающуюся только режима ядра. Информация пользовательского режима не сохраняется, так как не несет в себе информации о причине краха системы. Объем файла дампа зависит от размера оперативной памяти и варьируется от 50 Мб (для систем с 128 Мб оперативной памяти) до 800 Мб (для систем с 8 Гб оперативной памяти).

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

Настройка системы

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

Проделав все манипуляции, после каждого BSoD в папке C:WINDOWSMinidump будет сохраняться файл с расширение .dmp. Советую ознакомиться с материалом «Как создать папку«. Также можно установить галочку на “Заменить существующий файл дампа”. В этом случае каждый новый аварийный дамп будет записываться поверх старого. Я не советую включать данную опцию.

Статья в тему:  Доктор веб куре. Dr Web онлайн — проверка на вирусы

Анализ аварийного дампа памяти с помощью программы BlueScreenView

Итак, после появления синего экрана смерти система сохранила новый аварийный дамп памяти. Для анализа дампа рекомендую использовать программу BlueScreenView. Её можно бесплатно скачать тут. Программа довольно удобная и имеет интуитивный интерфейс. После её установки первое, что необходимо сделать – это указать место хранение дампов памяти в системе. Для этого необходимо зайти в пункт меню “Options” и выбрать “Advanced Options”. Выбираем радиокнопку “Load from the following Mini Dump folder” и указываем папку, в которой хранятся дампы. Если файлы хранятся в папке C:WINDOWSMinidump можно нажатием кнопки “Default”. Нажимаем OK и попадаем в интерфейс программы.

Программа состоит из трех основных блоков:

  1. Блок главного меню и панель управления;
  2. Блок списка аварийных дампов памяти;
  3. В зависимости от выбранных параметров может содержать в себе:
  • список всех драйверов находящихся в оперативной памяти до появления синего экрана (по умолчанию);
  • список драйверов находящихся в стеке оперативной памяти;
  • скриншот BSoD;
  • и другие значения, которые мы использовать не будем.

В блоке списка дамп памяти (на рисунке помечен цифрой 2) выбираем интересующий нас дамп и смотрим на список драйверов, которые были загружены в оперативную память (на рисунке помечен цифрой 3). Розовым цветом окрашены драйвера, которые находились в стеке памяти. Они то и являются причиной появления BSoD. Далее переходите в Главное меню драйвера, определяйте к какому устройству или программе они принадлежат. В первую очередь обращайте внимание на не системные файлы, ведь системные файлы в любом случае загружены в оперативной памяти. Легко понять, что на изображении сбойным драйвером является myfault.sys. Скажу, что это программа была специально запущена для вызова Stop ошибки. После определения сбойного драйвера, необходимо его либо обновить, либо удалить из системы.

Статья в тему:  Что такое право на забвение? Delete надо

Для того чтобы программа показывала список драйверов находящихся в стеке памяти во время возникновения BSoD необходимо зайти в пункт меню “Options” кликаем на меню “LowerPaneMode” и выбираем “OnlyDriversFoundInStack” (или нажмите клавишу F7), а для показа скриншота ошибки выбираем “BlueScreeninXPStyle” (F8). Что бы вернуться к списку всех драйверов, необходимо выбрать пункт “AllDrivers” (F6).

Установка 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.

Анализ дампа памяти. Аварийный дамп памяти Windows

Frage

Инструкция по интерпретации файла малого дампа памяти.

Статья в тему:  Майл com почта вход. Gmail почта — вход

Очень часто можно встретить вопросы, связанные с появлением синего экрана смерти ( Blue Screen Of Death = BSOD ). Однако практически любой человек может самостоятельно определить причину возникновения ошибки, которая привела к появлению BSOD . Дело в том, что во время появления синего экрана на жесткий диск записывается специальный файл, который называется Малый Дамп Памяти (конечно, при условии, что его запись разрешена в настройках).

Включить запись Малого Дампа можно следующим образом:

1. Нажмите кнопку Пуск и выберите в меню Настройка пункт Панель управления.

2. Дважды щелкните значок Система.

3. Откройте вкладку Дополнительно и нажмите кнопку Параметры в области Загрузка и восстановление.

4. В списке Запись отладочной информации выберите Малый дамп памяти (64 КБ).

В файле малого дампа памяти записывается минимальный набор полезной информации, позволяющей определить причину неожиданного сбоя компьютера. Для этого параметра на загрузочном томе требуется файл подкачки размером не менее 2 МБ. На компьютерах с операционной системой Microsoft Windows 2000 или более поздними версиями Windows при непредвиденном сбое компьютера каждый раз создается новый файл.

При возникновении следующей ошибки и создании второго файла малого дампа памяти Windows сохраняет предыдущий файл. Windows присваивает каждому файлу отдельное имя с указанием даты. Например, Mini022900-01.dmp — это первый файл дампа памяти, созданный 29 февраля 2000 г. Список всех файлов малого дампа памяти хранится в папке %SystemRoot%Minidump.

Статья в тему:  Какие существуют браузеры для windows 7. Браузеры

Средства интерпретации файла малого дампа памяти

Для загрузки файлов малого дампа памяти можно воспользоваться служебной программой Dump Check (Dumpchk.exe). Программа Dumpchk.exe используется также для проверки правильности создания файла дампа памяти. Dump Check не требует доступа к символам отладки. Программа Dump Check входит в комплект средств поддержки Microsoft Windows 2000 Support Tools и Microsoft Windows XP Support Tools. Скачать данные пакеты вы можете, пройдя по данной ссылке http://www.microsoft.com/whdc/devtools/debugging/default.mspx

Для интерпретации файлов малого дампа памяти можно воспользоваться также средствами WinDbg или the KD.exe. Программы WinDbg и KD.exe входят в последнюю версию пакета средств отладки для Windows.

Как открыть файл дампа памяти

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

  1. Нажмите кнопку Пуск, выберите пункт Выполнить, введите команду cmd и нажмите кнопку ОК.
  2. Перейдите в папку «Debugging Tools for Windows». Для этого введите в командной строке

cd c:program filesdebugging tools for windows

и нажмите клавишу ВВОД.

  1. Для загрузки файла дампа памяти в программу отладки введите одну из следующих команд и нажмите клавишу ВВОД:

windbg -y путь_к_символу -i путь_к_образу -z путь_к_файлу_дампа

kd -y путь_к_символу -i путь_к_образу -z путь_к_файлу_дампа

Раздел-заглушка

Описание

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

Статья в тему:  Какой антивирус поставить. Антивирусы для Windows

Путь к этим файлам. Эти файлы содержатся в папке I386 на компакт-диске Windows XP. Пример пути: C:WindowsI386.

Путь к анализируемому файлу дампа памяти и имя этого файла.

Анализ файла дампа памяти

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

  • Команда !analyze -show отображает код неустранимой ошибки и ее параметры. Код неустранимой ошибки известен также как контрольный код неполадки.
  • Команда !analyze -v отображает подробный результат анализа.
  • Команда lm N T выводит список указанных загруженных модулей. Данные включают состояние и путь модуля.

Примечание. Команда с раширением !drivers выводит список всех драйверов, загруженных на конечный компьютер, а также сведения об используемой ими памяти. Расширение !drivers не используется в Windows XP и более поздних версиях. Для отображения сведений о загруженных драйверах и других модулях воспользуйтесь командой lm. Команда lm N T выводит сведения в таком же формате, как и устаревшее расширение !drivers.

Сведения о других командах и полном синтаксисе команд см. в справочной документации к средствам отладки. Справочная документация к средствам отладки размещается в файле: C:Program FilesDebugging Tools for WindowsDebugger.chm

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

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector