Меню Рубрики

Windows memory dmp ошибка

База знаний
Try 2 Fix beta

Анализ MEMORY.DMP после возникновения «Синего экрана смерти» (BSOD)

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

Строка, которую надо скопировать на одном из этапов:

Эти статьи будут Вам интересны

Печать контрольной ленты из ЭКЛЗ Штрих-ФР-К

Для проверки отчётности иногда требуется получить полный перечень продаж (чеков) из фискального регистратора. Случается, что данные из учётной программы и данные из ЭКЛЗ расходятся (задваиваются или наоборот, какие-то продажи не проходят), и тогда требуется найти «виновного». Все чеки в учётной программе хранятся в доступном виде. Как же получить чеки с суммами из фискального регистратора? Рассказываем!

Автоматический вход в систему при наличие пароля

Если на Вашей учётной записи настольной Windows или Windows Server установлен пароль, но каждый раз вводить его при входе в систему Вы не хотите, или же вход в доменную учетную запись с нажатием Ctrl + Alt + Del Вас удручает — это можно исправить.

Отключение автоматического обновления Mozilla Firefox

Время банк-клиентов именно как приложений-клиентов уже прошло. Большая часть банков перешла на онлайн версии клиентов. Чаще всего в основе таких приложений лежит Java. Но настроить связку «Нужная версия Java» + «Нужная версия браузера» зачастую сложно. В большинстве случаев подходит браузер Mozilla Firefox. Всё работает, но потом Firefox обновляется и начинаются проблемы: то сама новая версия Firefox перестаёт поддерживать работу банк-клиентов, то новая версия блокирует старые версии Java Runtime Environment. А поскольку банк-клиенты не успевают за обновлениями Java, иногда нужно использовать именно более старые её версии. Рассказываем и показываем как отключить автоматическое обновление Mozilla Firefox.

База знаний «Try 2 Fix» Beta

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

Источник

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

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

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

Синий экран смерти или как его еще называют 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее выбираем компонент и жмем install

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

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

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

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

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

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

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

Помимо самого пакета 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…

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

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

Как установить Microsoft Kernel Debugger10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ткнув по ссылке в логе вы получаете самую детальную информацию об ошибке.

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

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

Источник

Использование дампа памяти для диагностики сбоев

Одним из наиболее часто встречающихся отказов работы Windows — системные исключения, которые пользователь видит в виде «синего экрана смерти» (BSOD). Как правило, эта фатальная ошибка возникает или из-за неисправности драйверов, оборудования (чаще при загрузке ОС) или из-за действия вирусов и антивирусов.

На синем экране смерти содержится информация о причинах, вызвавших исключение (в виде кода STOP-ошибки вида 0x0000007b), адреса в памяти, при обращении к которым произошло исключение и прочая полезная информация. Такая информация называется STOP-ошибкой, переменными параметрами которой как раз являются адреса памяти. Иногда там же содержится имя файла, вызвавшего исключение.

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

Что такое дамп

  • dump (англ.) – мусорная куча; свалка; дыра; трущоба.
  • dump (memory dump) – 1) дамп, вывод содержимого оперативной памяти на печать или экран; 2) «снимок» оперативной памяти; данные, получаемые в результате дампинга; 3) аварийное снятие, выключение, сброс.
  • dumping – дампинг, снятие дампа.

Настройки для сохранения дампа памяти хранятся в системном реестре Windows.

Информация о дампе памяти в системном Реестре:

В разделе Реестра Windows [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] аварийный дамп памяти определяется следующими параметрами:

– REG_DWORD-параметр AutoReboot со значением 0×1 (опция Выполнить автоматическую перезагрузку вспомогательного окна Загрузка и восстановление диалогового окна Свойства системы);

– REG_DWORD-параметр CrashDumpEnabled со значением 0×0, если дамп памяти не создается; 0×1 – Полный дамп памяти; 0×2 – Дамп памяти ядра; 0×3 – Малый дамп памяти (64КБ);

– REG_EXPAND_SZ-параметр DumpFile со значением по умолчанию %SystemRoot%\MEMORY.DMP (место хранения файла дампа);

– REG_DWORD-параметр LogEvent со значением по умолчанию 0×1 (опция Записать событие в системный журнал окна Загрузка и восстановление);

– REG_EXPAND_SZ-параметр MinidumpDir со значением по умолчанию %SystemRoot%\Minidump (опция Папка малого дампа окна Загрузка и восстановление);

– REG_DWORD-параметр Overwrite со значением по умолчанию 0×1 (опция Заменять существующий файл дампа окна Загрузка и восстановление);

– REG_DWORD-параметр SendAlert со значением по умолчанию 0×1 (опция Отправить административное оповещение окна Загрузка и восстановление).

Как система создает файл аварийного дампа памяти

Во время загрузки операционная система проверяет параметры создания аварийного дампа в разделе реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]. Если указан хотя бы один параметр, то система генерирует карту блоков диска, занимаемых файлом подкачки на загрузочном томе, и сохраняет ее в памяти. Система также определяет, какой драйвер дискового устройства управляет загрузочным томом, вычисляет контрольные суммы для образа драйвера в памяти и для структур данных, которые должны быть целыми, чтобы драйвер мог выполнять операции ввода/вывода.

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

Сначала ядро системы проверяет состояние каждого компонента, задействованного в процессе сохранения дампа. Это делается для того, чтобы при прямой записи в секторы диска не повредить данные, лежащие вне страничного файла. Размер страничного файла должен быть на 1МБ больше размера физической памяти, потому что при записи информации в дамп создается заголовок, в котором содержатся сигнатура аварийного дампа и значения нескольких важнейших переменных ядра системы. Заголовок занимает меньше 1МБ, но операционная система может увеличивать (или уменьшать) размер файла подкачки не менее чем на 1МБ.

После загрузки системы Session Manager (Диспетчер сеанса Windows NT; дисковый адрес – \WINDOWS\system32\smss.exe) инициализирует страничные файлы системы, используя для создания каждого файла собственную функцию NtCreatePagingFile. NtCreatePagingFile определяет, существует ли инициализируемый страничный файл, и если да, то имеется ли в нем заголовок дампа. Если заголовок есть, то NtCreatePagingFile посылает в Session Manager специальный код. После этого Session Manager запускает процесс Winlogon (Программа входа в систему Windows NT; дисковый адрес – \WINDOWS\system32\winlogon.exe), который извещается о существовании аварийного дампа. Winlogon запускает программу SaveDump (Программа сохранения копии памяти Windows NT; дисковый адрес – \WINDOWS\system32\savedump.exe), которая анализирует заголовок дампа и определяет дальнейшие действия в аварийной ситуации.

Если заголовок указывает на существование дампа, то SaveDump копирует данные из страничного файла в файл аварийного дампа, имя которого задано REG_EXPAND_SZ-параметром DumpFile раздела Реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]. Пока SaveDump переписывает файл дампа, операционная система не задействует ту часть страничного файла, в которой содержится аварийный дамп. В это время объем виртуальной памяти, доступной для системы и приложений, уменьшается на размер дампа (при этом на экране могут появиться сообщения, указывающие на нехватку виртуальной памяти). Затем SaveDump информирует диспетчер памяти о завершении сохранения дампа, и тот высвобождает ту часть страничного файла, в которой хранится дамп, для общего пользования.

Сохранив файл дампа, программа SaveDump делает запись о создании аварийного дампа в журнале событий Система, например: «Компьютер был перезагружен после критической ошибки: 0x100000d1 (0xc84d90a6, 0×00000010, 0×00000000, 0xc84d90a6). Копия памяти сохранена: C:\WINDOWS\Minidump\Mini060309-01.dmp».

Если включена опция Отправить административное оповещение, то SaveDump отправляет оповещение администратору.

Разновидности дампов

  • Полный дамп памяти записывает всё содержимое системной памяти при возникновении неустранимой ошибки. Для этого варианта необходимо иметь на загрузочном томе файл подкачки, размер которого равен объему всей физической оперативной памяти плюс 1МБ. По умолчанию полный дамп памяти записывается в файл %SystemRoot%\Memory.dmp. При возникновении новой ошибки и создании нового файла полного дампа памяти (или дампа памяти ядра) предыдущий файл заменяется (перезаписывается). Параметр Полный дамп памяти недоступен на ПК, на которых установлена 32-битная операционная система и 2 или более гигабайта оперативной памяти.

При возникновении новой ошибки и создании нового файла полного дампа памяти предыдущий файл заменяется.

  • Дамп памяти ядра записывает только память ядра, благодаря чему процесс записи данных в журнал при внезапной остановке системы протекает быстрее. В зависимости от объема физической памяти ПК в этом случае для файла подкачки требуется от 50 до 800МБ или одна треть физической памяти компьютера на загрузочном томе. По умолчанию дамп памяти ядра записывается в файл %SystemRoot%\Memory.dmp.

Этот дамп не включает нераспределенную память или память, выделенную для программ пользовательского режима. Он включает только память, выделенную для ядра и аппаратно-зависимого уровня (HAL) в Windows 2000 и более поздних версиях системы, а также память, выделенную для драйверов режима ядра и других программ режима ядра. В большинстве случаев такой дамп является наиболее предпочтительным вариантом. Он занимает намного меньше места по сравнению с полным дампом памяти, при этом исключая только те сектора памяти, которые, скорее всего, не связаны с ошибкой.
При возникновении новой ошибки и создании нового файла дампа памяти ядра предыдущий файл заменяется.

  • Малый дамп памяти записывает наименьший объем полезной информации, необходимых для определения причины неполадок. Для создания малого дампа памяти необходимо, чтобы размер файла подкачки составлял как минимум 2МБ на загрузочном томе.

Файлы малого дампа памяти содержат следующие сведения:

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

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

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

Операционная система Windows XP, несомненно, значительно надежнее предыдущих версий, – благодаря усилиям как разработчиков Microsoft, так и разработчиков драйверов аппаратного обеспечения, так и разработчиков прикладного программного обеспечения. Однако аварийные ситуации – всевозможные сбои и крахи системы – неизбежны, и от того, владеет ли пользователь ПК знаниями и навыками в их устранении, зависит, придется ему затратить несколько минут на поиск и устранение неисправности (например, на обновление/отладку драйвера или переустановку прикладной программы, вызывающей системный сбой), – или несколько часов на переустановку/настройку операционной системы и прикладного программного обеспечения (что не гарантирует отсутствия сбоев и крахов в дальнейшем!).

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

Приведу примеры из своей «сисадминской» практики.

В локальной сети без видимой причины («железо» в порядке, отсутствие вирусов гарантировано, пользователи – с «нормальными руками») «полегли» несколько рабочих станций с Windows XP SP1/SP2 «на борту». Компьютеры загрузить в нормальном режиме не удавалось, – доходило до «Приветствия» – и на перезагрузку до бесконечности. При этом, в Безопасном режиме ПК загружались.

Изучение дампов памяти позволило выявить причину неисправности: виновником оказался антивирус Касперского, точнее, свежие антивирусные базы (если еще точнее, то два модуля баз – base372c.avc, base032c.avc).

…Еще был такой случай. На локальном ПК с Windows XP SP3 при попытке открыть видеофайлы форматов .avi и .mpeg происходила перезагрузка. Изучение дампа памяти позволило выявить причину неисправности – файл nv4_disp.dll драйвера видеокарты NVIDIA GeForce 6600. После обновления драйвера неисправность была устранена. Вообще, драйвер nv4_disp.dll — один из самых нестабильных драйверов, который часто приводил к BSOD.

В обоих указанных случаях изучение аварийного дампа памяти позволило до минимума (несколько минут!) свести время для диагностирования и устранения неисправности.

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

Для анализа аварийных дампов памяти существует множество программ, например, DumpChk, Kanalyze, WinDbg.

Рассмотрим анализ аварийных дампов памяти с помощью программы WinDbg (входит в состав Debugging Tools for Windows).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Windows memory diagnostics tool что это
  • Windows memory diagnostic tool что это
  • Windows media плеер обновить
  • Windows media видео редактор
  • Windows media video wmv