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

Применимо к: Microsoft Windows Server 2003 Enterprise x64 EditionMicrosoft Windows Server 2003 Datacenter Edition (32-bit x86)Microsoft Windows Server 2003 Enterprise Edition (32-bit x86)

Аннотация


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

Если вы ищете информацию об отладке для Windows 8 или более поздних версий, пожалуйста, проверьте Средства отладки для Windows (WinDbg, KD, CDB, NTSD).
Для получения дополнительной информации о малом дампе памяти, проверьте Малый дамп памяти.

Файлы малого дампа памяти

Нажмите здесь, чтобы отобразить/скрыть сведения

 

Каким образом при сбое в работе компьютера узнать, что произошло, устранить проблему и предотвратить ее повторение? В этой ситуации вы сможете найти полезные сведения в файле малого дампа памяти. В файле малого дампа памяти содержится минимальное количество полезной информации, которая может помочь пользователю определить причину сбоя компьютера. В файле дампа памяти содержатся следующие сведения: 
  • Сообщение об останове, его параметры и прочие данные
  • Список загруженных драйверов
  • Контекст процессора (PRCB), на котором произошел сбой
  • Сведения о процессе и контекст ядра (EPROCESS) для процесса, вызвавшего ошибку
  • Сведения о процессе и контекст ядра (ETHREAD) для потока, вызвавшего ошибку
  • Стек вызовов в режиме ядра для потока, вызвавшего ошибку
Для создания файла дампа памяти Windows необходим файл подкачки размером не менее 2 МБ на загрузочном томе. На компьютерах под управлением Microsoft Windows 2000 или более поздней версии Windows новый файл дампа памяти создается каждый раз при сбое в работе компьютера. Журнал этих файлов хранится в папке. При возникновении второй ошибки и создании второго файла малого дампа памяти Windows сохраняет предыдущий файл. Windows присваивает каждому файлу отдельное имя с указанием даты. Например, Mini022900-01.dmp – это первый файл дампа памяти, который был создан 29 февраля 2000 г. Windows хранит список всех файлов малого дампа памяти в папке %SystemRoot%\Minidump.


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

Настройка типа дампа

Нажмите здесь, чтобы отобразить/скрыть сведения
 

Для настройки параметров запуска и восстановления для использования файлов малого дампа памяти выполните приведенные ниже действия.

Значок
 Примечание
В зависимости от версии операционной системы Microsoft Windows, установленной на компьютере, может потребоваться выполнить действия, отличные от описанных ниже. В этом случае для выполнения этих действий см. документацию к продукту.
  1. Нажмите кнопку Пуск и выберите элемент Панель управления.
  2. Дважды щелкните кнопкой мыши по разделу Система, затем выберите пункт Дополнительные параметры системы.
  3. Откройте вкладку Дополнительно и нажмите кнопку Параметры в области Загрузка и восстановление.
  4. В списке Запись отладочной информации выберите пункт Малый дамп памяти (64 КБ).
    Запуск и восстановление - диалоговое окно
     
    Для изменения расположения папки, в которой хранятся файлы малого дампа памяти, укажите новый путь в поле Файл дампа (или в поле Папка малого дампа, в зависимости от версии Windows).

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

Нажмите здесь, чтобы отобразить/скрыть сведения
 

Используйте служебную программу проверки дампа (Dumpchk.exe) для чтения файла дампа памяти или для проверки правильности созданного файла. 

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

Дополнительные сведения об использовании служебной программы проверки дампа в Windows NT, Windows 2000, Windows Server 2003 или Windows Server 2008 см. в статье базы знаний Майкрософт 156280: Как проверить файл дампа памяти с помощью программы Dumpchk.exe.

Дополнительные сведения об использовании служебной программы проверки дампа в Windows XP, Windows Vista или Windows 7 см. в статье базы знаний Майкрософт 315271: Как проверить файл дампа памяти с помощью программы Dumpchk.exe.

Или же для чтения файлов малого дампа памяти можно использовать отладчик Windows (WinDbg.exe) или отладчик ядра (KD.exe). Программы WinDbg и KD.exe входят в последнюю версию пакета инструментов отладки для Windows.

Для установки инструментов отладки посетите веб-страницу Скачивание и установка инструментов отладки для Windows. Выберите обычную установку. По умолчанию средства отладки устанавливаются в следующую папку: C:\Program Files\Debugging Tools for Windows

На этой веб-странице также предоставляется доступ для скачивания пакетов символов для Windows. Дополнительные сведения о символах Windows см. в статье базы знаний Майкрософт 311503: Использование сервера символов Майкрософт для получения файлов символов отладки 311503: Использование сервера символов Майкрософт для получения файлов символов отладки, и веб-страницу Скачивание пакетов символов Windows.


 
Дополнительные сведения о параметрах файла дампа в Windows см. в статье базы знаний Майкрософт 254649: Обзор параметров файла дампа памяти для Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2 

Открытие файла дампа памяти

Нажмите здесь, чтобы отобразить/скрыть сведения
 

Чтобы открыть файл дампа памяти, выполните указанные ниже действия.
  1. Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.
  2. Перейдите в папку «Debugging Tools for Windows». Для этого в командной строке введите приведенную ниже команду и нажмите клавишу ВВОД:
    cd c:\program files\debugging tools for windows
  3. Для загрузки файла дампа в отладчик введите одну из приведенных ниже команд и нажмите клавишу ВВОД:
    windbg -y SymbolPath -i ImagePath -z DumpFilePath
    kd -y SymbolPath -i ImagePath -z DumpFilePath
В следующей таблице дано описание заполнителей, используемых в этих командах.
ЗаполнительОбъяснение
путь_символаЛокальный путь к папке, в которую были загружены файлы символов, или путь к серверу символов, включая папку кэша. Поскольку файл малого дампа памяти содержит ограниченные сведения, для правильной интерпретации файла дампа памяти необходимо вместе с символами загрузить реальные двоичные файлы.
путь_образаПуть к этим файлам. Эти файлы содержатся в папке I386 на компакт-диске Windows XP. Пример пути: C:\Windows\I386.
путь_файла_дампаПуть к анализируемому файлу дампа памяти и имя этого файла.

Примеры команд

Нажмите здесь, чтобы отобразить/скрыть сведения
 

Для открытия файла дампа можно использовать приведенные ниже примеры команд Использование этих команд предполагает следующие условия: 
  • Содержимое папки I386 с компакт-диска Windows скопировано в папку C:\Windows\I386.
  • Файл дампа памяти называется C:\Windows\Minidump\Minidump.dmp.
Пример 1.

kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp

Пример 2. Если вы предпочитаете графическую версию отладчика вместо версии с командной строкой, тогда введите следующую команду:

windbg -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp

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

Нажмите здесь, чтобы отобразить/скрыть сведения
 

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

Сведения о других командах и полном синтаксисе команд см. в справочной документации к средствам отладки. Справочная документация к средствам отладки размещается в следующем файле:
C:\Program Files\Debugging Tools for Windows\Debugger.chm
Значок
 Примечание.
Если проблема связана с символами, используйте служебную программу Symchk для проверки правильности загрузки необходимых символов. Дополнительные сведения об использовании Symchk см. в статье базы знаний Майкрософт 311503: Использование сервера символов Майкрософт для получения файлов символов отладки.

Упрощение команд с помощью пакетного файла

Нажмите здесь, чтобы отобразить/скрыть сведения
 

После определения команды, необходимой для загрузки дампов памяти, можно создать пакетный файл для анализа файла дампа. Например, создайте пакетный файл и назовите его Dump.bat. Сохраните его в папку, куда установлены инструменты для отладки. Запишите в пакетный файл приведенный ниже текст: 
cd "c:\program files\debugging tools for windows"

kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z %1


При необходимости анализа файла дампа памяти введите следующую команду для передачи пути файла дампа в командный файл:
dump c:\windows\minidump\minidump.dmp