- Чтение небольшого файла сброса памяти, созданного Windows в случае сбоя
- Небольшие файлы сброса памяти
- Настройка типа сброса
- Средства для чтения небольшого файла сброса памяти
- Откройте файл сброса
- Примеры команд
- Изучение файла сброса
- Упрощение команд с помощью пакетного файла
- Аварийный дамп памяти
- Анализ дампа памяти
- Общие сведения об аварийном дампе памяти
- Настройка системы
- Анализ аварийного дампа памяти с помощью программы BlueScreenView
Чтение небольшого файла сброса памяти, созданного Windows в случае сбоя
В этой статье описано, как изучить небольшой файл сброса памяти. Небольшой файл сброса памяти поможет определить причину сбоя компьютера.
Оригинальная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 315263
Если вы ищете сведения о отладки для Windows 8 или более поздней версии, проверьте средства отладки для Windows (WinDbg, KD, CDB, NTSD). Дополнительные сведения о небольшой свалке памяти вы можете получить в Small Memory Dump.
Небольшие файлы сброса памяти
Если компьютер сбои, как вы можете узнать, что произошло, устранить проблему и предотвратить ее снова? В этой ситуации может оказаться полезным небольшой файл сброса памяти. Небольшой файл сброса памяти содержит наименьшее количество полезных сведений, которые помогут определить причины сбоя компьютера. Файл сброса памяти содержит следующие сведения:
- Сообщение Stop, его параметры и другие данные
- Список загруженных драйверов
- Контекст процессора (PRCB) для остановленного процессора
- Сведения о процессе и контекст ядра (EPROCESS) для остановленного процесса
- Сведения о процессе и контекст ядра (ETHREAD) для остановленного потока
- Стек вызовов в режиме ядра для остановленного потока
Для создания файла сброса памяти Windows требуется файл paging в томе загрузки размером не менее 2 мегабайт (МБ). На компьютерах с Microsoft Windows 2000 или более поздней версии Windows создается новый файл сброса памяти при каждом сбое компьютера. История этих файлов хранится в папке. Если возникает вторая проблема и если Windows создает второй небольшой файл сброса памяти, Windows сохраняет предыдущий файл. Windows предоставляет каждому файлу отдельное имя файла с кодированной датой. Например, Mini022900-01.dmp — это первый файл сброса памяти, созданный 29 февраля 2000 г. Windows сохраняет список всех небольших файлов сброса памяти в %SystemRoot%\Minidump папке.
Небольшой файл сброса памяти может быть полезен при ограниченном пространстве жесткого диска. Однако из-за ограниченной информации, которая включена, ошибки, которые не были непосредственно вызваны потоком, который был запущен во время проблемы, не могут быть обнаружены при анализе этого файла.
Настройка типа сброса
Чтобы настроить параметры запуска и восстановления для использования небольшого файла сброса памяти, выполните следующие действия.
Поскольку существует несколько версий Microsoft Windows, следующие действия могут быть разными на вашем компьютере. Если они есть, см. документацию по продуктам для выполнения этих действий.
Нажмите кнопку Пуск и выберите Панель управления.
Дважды щелкните систему, а затем нажмите параметры advanced system.
Щелкните вкладку Advanced, а затем щелкните Параметры в статье Запуск и восстановление.
В списке сведений о отладке записи нажмите кнопку Малая свалка памяти (64k).
Чтобы изменить расположение папки для небольших файлов сброса памяти, введите новый путь в поле Dump File или в поле Каталог малых отвалов в зависимости от версии Windows.
Средства для чтения небольшого файла сброса памяти
Используйте утилиту проверки сброса (Dumpchk.exe) для чтения файла сброса памяти или проверки правильности создания файла.
Утилита проверки сброса не требует доступа к отладке символов. В файлах символов находятся различные данные, которые на самом деле не нужны при запуске разных файлов, но которые могут быть очень полезны в процессе отладки.
Дополнительные сведения об использовании службы проверки сброса в Windows NT, Windows 2000, Windows Server 2003 или Windows Server 2008 см. в статье Microsoft Knowledge Base 156280.Как использовать Dumpchk.exe для проверки файла сброса памяти.
Дополнительные сведения об использовании службы проверки сброса в Windows XP, Windows Vista или Windows 7 см. в статье Microsoft Knowledge Base 315271.Как использовать Dumpchk.exe для проверки файла сброса памяти.
Или вы можете использовать средство Отладка Windows (WinDbg.exe) или средство отладки ядра (KD.exe) для чтения небольших файлов сброса памяти. WinDbg и KD.exe включены в последнюю версию пакета Средств отладки для Windows.
Чтобы установить средства отладки, см. в веб-странице Download and Install Debugging Tools for Windows. Выберите типичную установку. По умолчанию установщик устанавливает средства отладки в следующей папке:
C:\Program Files\Debugging Tools for Windows
Эта веб-страница также предоставляет доступ к загружаемым пакетам символов для Windows. Дополнительные сведения о символах Windows см. в странице Отладкас символами и веб-странице Пакеты символов Windows.
Дополнительные сведения о параметрах файлов сброса в Windows см. в обзоре параметровфайлов сброса памяти для Windows.
Откройте файл сброса
Чтобы открыть файл сброса после завершения установки, выполните следующие действия:
Нажмите кнопку Начните, нажмите кнопку Запустить, cmd введите, а затем нажмите кнопку ОК.
Изменение в инструменты отладки для папки Windows. Для этого введите следующее в командной подсказке и нажмите кнопку ENTER:
Чтобы загрузить файл сброса в отладчик, введите одну из следующих команд и нажмите кнопку ENTER:
В следующей таблице объясняется использование держателей, используемых в этих командах.
Заполнитель | Объяснение |
---|---|
SymbolPath | Либо локальный путь, по котором были загружены файлы символов, либо путь сервера символов, включая папку кэша. Так как небольшой файл сброса памяти содержит ограниченные сведения, фактические двоичные файлы должны быть загружены вместе с символами для правильного чтения файла сброса. |
ImagePath | Путь этих файлов. Файлы содержатся в папке I386 на компакт-диске Windows XP. Например, путь может быть C:\Windows\I386 . |
DumpFilePath | Путь и имя файла для файла сброса, который вы изучаете. |
Примеры команд
Чтобы открыть файл сброса, можно использовать следующие примеры команд. Эти команды предполагают следующие:
- Содержимое папки I386 в компакт-диске Windows копируется в C:\Windows\I386 папку.
- Ваш файл сброса называется C:\Windows\Minidump\Minidump.dmp .
Пример 2. Если вместо командной строки вы предпочитаете графическую версию отладки, введите следующую команду:
Изучение файла сброса
Существует несколько команд, которые можно использовать для сбора сведений в файле сброса, в том числе следующие команды:
- Команда !analyze -show отображает код ошибки Stop и его параметры. Код ошибки Stop также известен как код проверки ошибок.
- Команда !analyze -v отображает многословный вывод.
- В lm N T команде перечислены указанные загруженные модули. Выход включает состояние и путь модуля.
Команда расширения !drivers отображает список всех драйверов, загруженных на компьютере назначения, а также сводную информацию об использовании их памяти. Расширение !drivers устарело в Windows XP и более поздней версии. Чтобы отобразить сведения о загруженных драйверах и других модулях, используйте lm команду. Команда lm N T отображает сведения в формате, аналогичном старому расширению драйверов!.
Справки по другим командам и полному синтаксису команд см. в документации по отладки средств справки. Документация о помощи средствам отладки можно найти в следующем расположении:
C:\Program Files\Debugging Tools for Windows\Debugger.chm
Если у вас есть проблемы, связанные с символами, используйте утилиту Symchk, чтобы убедиться, что правильные символы загружены правильно. Дополнительные сведения об использовании Symchk см. в рубрике Отладка с символами.
Упрощение команд с помощью пакетного файла
После определения команды, необходимой для загрузки свалок памяти, можно создать пакетный файл для проверки файла сброса. Например, создайте пакетный файл и назови его Dump.bat. Сохраните его в папке, где установлены средства отладки. Введите следующий текст в пакетный файл:
Если вы хотите изучить файл сброса, введите следующую команду, чтобы передать путь файла сброса в пакетный файл:
Аварийный дамп памяти
Анализ дампа памяти
Общие сведения об аварийном дампе памяти
Все Windows-системы при обнаружении фатальной ошибки делают аварийный дамп (снимок) содержимого оперативной памяти и сохраняет его на жесткий диск. Существуют три типа дампа памяти:
Полный дамп памяти – сохраняет все содержимое оперативной памяти. Размер снимка равен размеру оперативной памяти + 1 Мб (заголовок). Используется очень редко, так как в системах с большим объемом памяти размер дампа будет слишком большим.
Дамп памяти ядра – сохраняет информацию оперативной памяти, касающуюся только режима ядра. Информация пользовательского режима не сохраняется, так как не несет в себе информации о причине краха системы. Объем файла дампа зависит от размера оперативной памяти и варьируется от 50 Мб (для систем с 128 Мб оперативной памяти) до 800 Мб (для систем с 8 Гб оперативной памяти).
Малый дамп памяти (мини дамп) – содержит довольно небольшое количество информации: код ошибки с параметрами, список драйверов загруженных в оперативную память на момент краха системы и т.д., но этих сведений достаточно, для определения сбойного драйвера. Еще одним преимуществом данного вида дампа является маленький размер файла.
Настройка системы
Для выявления драйвера вызвавшего синий экран нам достаточно будет использовать малый дамп памяти. Для того чтобы система при крахе сохраняла мини дамп необходимо выполнить следующие действия:
Для Windows Xp | Для Windows 7 |
|
|
Проделав все манипуляции, после каждого BSoD в папке C:\WINDOWS\Minidump будет сохраняться файл с расширение .dmp. Советую ознакомиться с материалом «Как создать папку». Также можно установить галочку на “Заменить существующий файл дампа”. В этом случае каждый новый аварийный дамп будет записываться поверх старого. Я не советую включать данную опцию.
Анализ аварийного дампа памяти с помощью программы BlueScreenView
Итак, после появления синего экрана смерти система сохранила новый аварийный дамп памяти. Для анализа дампа рекомендую использовать программу BlueScreenView. Её можно бесплатно скачать тут. Программа довольно удобная и имеет интуитивный интерфейс. После её установки первое, что необходимо сделать – это указать место хранение дампов памяти в системе. Для этого необходимо зайти в пункт меню “Options” и выбрать “Advanced Options”. Выбираем радиокнопку “Load from the following Mini Dump folder” и указываем папку, в которой хранятся дампы. Если файлы хранятся в папке C:\WINDOWS\Minidump можно нажатием кнопки “Default”. Нажимаем OK и попадаем в интерфейс программы.
Программа состоит из трех основных блоков:
- Блок главного меню и панель управления;
- Блок списка аварийных дампов памяти;
- В зависимости от выбранных параметров может содержать в себе:
- список всех драйверов находящихся в оперативной памяти до появления синего экрана (по умолчанию);
- список драйверов находящихся в стеке оперативной памяти;
- скриншот BSoD;
- и другие значения, которые мы использовать не будем.
В блоке списка дамп памяти (на рисунке помечен цифрой 2) выбираем интересующий нас дамп и смотрим на список драйверов, которые были загружены в оперативную память (на рисунке помечен цифрой 3). Розовым цветом окрашены драйвера, которые находились в стеке памяти. Они то и являются причиной появления BSoD. Далее переходите в Главное меню драйвера, определяйте к какому устройству или программе они принадлежат. В первую очередь обращайте внимание на не системные файлы, ведь системные файлы в любом случае загружены в оперативной памяти. Легко понять, что на изображении сбойным драйвером является myfault.sys. Скажу, что это программа была специально запущена для вызова Stop ошибки. После определения сбойного драйвера, необходимо его либо обновить, либо удалить из системы.
Для того чтобы программа показывала список драйверов находящихся в стеке памяти во время возникновения BSoD необходимо зайти в пункт меню “Options” кликаем на меню “LowerPaneMode” и выбираем “OnlyDriversFoundInStack” (или нажмите клавишу F7), а для показа скриншота ошибки выбираем “BlueScreeninXPStyle” (F8). Что бы вернуться к списку всех драйверов, необходимо выбрать пункт “AllDrivers” (F6).
Буду признателен, если воспользуетесь кнопочками: