Что такое minidump в компьютере
minidump что это за папка? » Простые советы по работе с Windows.
minidump (малый дамп памяти) -это файл в который записывает минимальный набор данных для определения причины неожиданного сбоя компьютера. Такие как: Список загруженных драйверов, сообщение о неустранимой ошибке, ее параметры и т.д. Данный дамп памяти может помочь разобраться в причинах возникновения синих окон смерти Windows (BSoD).
Малый дамп можно найти в %systemroot%\minidump (он же C:\Windows\minidump), где имя файла обычно имеет вид: число когда возникла ошибка - xxxx-xx.dmp. Например: 020816-6031-01.dmp. В более старых версиях операционных систем названия файлов имеет формат Mini+месяц+день+год когда произошел сбор - порядковый номер файла. Например Mini121615-01.dmp. Этот файл был создан 16 декабря 2015 года и он первый файл дампа.
Minidump - это папка в которой содержаться все малые дампы памяти. Мы настоятельно не рекомендуем удалять эту папку.
Для анализа этих существует множество утилит. Например: Microsoft Kernel Debugger (Ее можно скачать с официального сайта компании Microsoft), BlueScreenView (Ее официальный сайт http://nirsoft.net).
Внимание! Файлы minidump не смогут создаваться если файл подкачки меньше 2 мб или операционная система работает без файла подкачки.
Просмотреть Minidump после падения системы
В Windows существует такая вещь, как minidump. Это файл, который создается после сбоя работы системы с информацией о том, что к этому привело. Но для того, чтобы просмотреть этот файл нужна специальная утилита.
О том как включить функцию Minidump и суметь прочитать его и пойдет речь в этой статье.
1. Включить Minidump
«Пуск» — «Настройка» — «Панель управления» — «Система», переходим во вкладку «Дополнительно», в блоке Загрузка и восстановление жмем «Параметры». Внизу должен быть выбран «Малый дамп памяти» и указан каталог, где он будет храниться:
Теперь, если друг система падает в Синий Экран Смерти (BSoD), то в каталоге C:\Windows\Minidump создастся файл, в имени которого будет текущая дата.
2. Расшифровать Minidump
Для этого нам понадобится установить Debugging Tools for Windows и скачать утилиту непосредственно для расшифровки файла дампа kdfe.cmd
Когда установили Debugging Tools, копируем kdfe.cmd в корень диска C:\
Запускаем командную строку «Пуск» -«Выполнить», вписываем команду cmd
Теперь в черном окне пишем следующее: C:\kdfe.cmd C:\WINDOWS\Minidump\Mini120710-01.dmp , где «Mini120710-01.dmp» — имя вашего файла дампа.
Результат выглядит так:
В моем случае сбой системы был вызван браузером Google Chrome.
Синий экран смерти. Анализ и расшифровка дампа памяти при BSOD
Windows вывалился в синий экран смерти. Что делать? Однозначного ответа на этот вопрос нет, так как вариантов лечения и расшифровки синих экранов смерти великое множество. Попробую рассказать как выявить причину синего экрана и диагностировать ошибку с вероятностью, близкой к 100%, а гадание оставим синоптикам.
На прошлой неделе ремонтировал компьютер на котором вылетал синий экран смерти с разными ошибками, чаще всего BAD_POOL_CALLER — stop 0x000000c2. Диагностируется данная ошибка довольно сложно, на его примере и попытаюсь рассказать как узнать причину возникновения по синего экрана смерти.
В процессе диагностики не обойтись без анализа специального файла minidump (дамп памяти) системы. Такие файлы создаются каждый раз после сбоя работы системы и содержат информацию о том, что к этому привело. Обычно все файлы minidump при BSOD сохраняются в папку C:\Windows\Minidump. Кроме того, имя файла содержит текущую дата его создания, чтобы не путаться когда возникла ошибка, если файлов много.
Проверьте, включено ли на вашем компьютере создание файлов minidump при сбое системы.
Анализ дампа памяти. Расшифровываем minidump.
Нам понадобится установить Debugging Tools for Windows и скачать утилиту непосредственно для расшифровки файла дампа kdfe.cmd
Распаковываем скрипт kdfe.cmd и кладем его непосредственно в корень диска диска C:\ или создаем каталог C:\dump. Тут уж как вам удобнее. В командной строке пишем:
c:\dump\kdfe.cmd
Выведется список всех минидампов, из папки C:\Windows\Minidump\ и скрипт предложит указать какой именно дамп будем анализироваться, либо можно самостоятельно выбрать требуемый дамп при запуске скрипта:
C:\kdfe.cmd C:\Windows\Minidump\061715-6208-01.dmp
На мой взгляд первый вариант удобнее. Пример того что выдал скрипт при анализе одного из дампов памяти:
C:\Users\алексей>C:\dump\kdfe.cmd Following crash dump files found: 1. "C:\Windows\MEMORY.DMP" 2. "C:\Windows\Minidump\021113-50887-01.dmp" 3. "C:\Windows\Minidump\033014-29842-01.dmp" 4. "C:\Windows\Minidump\050515-38610-01.dmp" 5. "C:\Windows\Minidump\050615-34803-01.dmp" 6. "C:\Windows\Minidump\051315-38672-01.dmp" 7. "C:\Windows\Minidump\052015-36629-01.dmp" 8. "C:\Windows\Minidump\052515-34538-01.dmp" 9. "C:\Windows\Minidump\052715-39374-01.dmp" 10. "C:\Windows\Minidump\052815-33119-01.dmp" 11. "C:\Windows\Minidump\060115-31824-01.dmp" 12. "C:\Windows\Minidump\060115-32385-01.dmp" 13. "C:\Windows\Minidump\060115-33945-01.dmp" 14. "C:\Windows\Minidump\060115-33977-02.dmp" 15. "C:\Windows\Minidump\060815-39343-01.dmp" 16. "C:\Windows\Minidump\061015-39062-01.dmp" 17. "C:\Windows\Minidump\061215-44475-01.dmp" 18. "C:\Windows\Minidump\061315-34991-01.dmp" 19. "C:\Windows\Minidump\061415-33680-01.dmp" 20. "C:\Windows\Minidump\061715-6208-01.dmp" 21. "C:\Windows\Minidump\061715-7940-01.dmp" Which one would you like to analyze?[1-21] 20 Analyzing "C:\Windows\Minidump\061715-6208-01.dmp", please wait... Done. Crash date: Wed Jun 17 01:28:13.148 2015 (GMT+3) Stop error code: 0x1a_31 Process name: amigo.exe Probably caused by: ntkrnlmp.exe ( nt:NNGAKEGL::`string'+7161 ) Для продолжения нажмите любую клавишу . . .
Еще одно доказательство что лучше избавляться от этих дебильных Амиго и майлру агентов. Таким же образом можно выявить и другие ошибки, приводящие к BSOD.
Существует еще одна интересная утилитка BlueScreenView, часто встречается на загрузочных флешках-реаниматорах, о которой я уже писал ранее на страницах блога, но на мой взгляд менее понятная для новичков.
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Файл ошибки в папке C:WindowsMinidump
Все о WindowsMinidump или как его еще называют «малый дамп памяти» очень важная опция в системе Windows 7/8/10. Образуется он посредством критического бага, только это приводит к созданию. Его основная миссия – это проинформировать пользователя, в чем же именно скрывается причина недавнего конфликта. Исходя из данного описания, уже можно понять, что минидамп своего рода обычный список, который содержит указания всех проблемных областей.
Папка Minidump содержит сведения о критических ошибках
Что это за папка Minidump
Не все сбои вашей ОС приведут к созданию dmp-документа, в основном это глобальные баги. Размещается малый дамп памяти в директории системного диска: C:WindowsMinidump и только тут. Название самого файла несколько видоизменено, а его основа состоит из даты, когда произошла ошибка. То есть, можно увидеть что-то наподобие этого: 091117-0913-01.dmp. Главное обращайте внимание на окончание оно всегда имеет расширение DMP.
Папка Минидамп содержит dmp-файлы сбоев
Эксклюзивным моментом, который ранее не встречался, становится следующее – для создания дампа обязательно должен быть включен файл подкачки и иметь показатель в 2 Мб. Этот параметр непосредственно влияет на изготовление информационного листа и без него директория просто не появится.
Как определить ошибку в минидамп-листе
В представленном списке выводятся данные, в которых есть перечисление всех драйверов, библиотек и сторонних утилит, инсталлированных позже в ОС. Если есть битые процессы, то они подсвечиваются красным цветом. Выводятся такие проблемные участки в первую очередь. В самом верху выделяется обычно несколько элементов и пользователю остается выявить среди них первоисточник. Далее удаляем или переустанавливает ломаный драйвер на ПК. Иногда только так удается найти причину появления «синего экрана смерти».
Чем открыть и просмотреть .dmp?
К сожалению нельзя так просто взять и открыть данный лист. В нем хранится информация, полностью состоящая из прямых ссылок на неработающие элементы. Для их отслеживания потребуется прибегнуть к помощи специальных инструментов. Корпорация Майкрософт анонсировала Microsoft Kernel Debugger для этой цели. Ее можно скачать, посетив официальную страницу. Но также есть и другие, к примеру, BlueScreenView или Debugging Tools.
Программа BlueScreenView
Бесплатное распространение утилит очень кстати, а разобраться с ними сможет любой. Для начала инсталлируем их на свой системный диск С. Далее открываете через ярлык на рабочем столе. Сверху среди множества возможных действий находите меню, отвечающее за выбор файлов. Оно может скрываться в опциях. Напоминаю, корректный путь такой: C:WindowsMinidump. Остается только кликнуть «ОК». Не перепутайте нужный вам объект с другими, ведь их может быть два-три, поэтому смотрите на число.
В новом окне откроются все установки. Проверьте все те, что выделены красным. На это собственно все. Если некоторые названия вам неизвестны, вбейте их в поисковик Google и вам ту же будет выдана полная расшифровка и вы определите как исправить соответствующие ошибки.
И напоследок наглядная видео-инструкция по работе с анализом DMP-файлов в Windows и исправлением критических ошибок.
Мне нравитсяНе нравитсяЧтение файлов малого дампа памяти - Windows Client
- Чтение занимает 5 мин
В этой статье
В этой статье описывается, как проверить файл малого дампа памяти. Файл малого дампа памяти может помочь определить причину сбоя компьютера.
Исходная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер статьи базы знаний: 315263
Файлы малого дампа памяти
Если ваш компьютер аварийно завершает работу, как можно узнать, что случилось, устранить проблему и предотвратить ее повторную выполнение? Файл малого дампа памяти может оказаться полезен в этой ситуации. Файл малого дампа памяти содержит наименьшее количество полезной информации, которая может помочь определить причину сбоя компьютера. Файл дампа памяти содержит следующие сведения:
- Сообщение об ошибке, его параметры и другие данные
- Список загруженных драйверов
- Контекст процессора (ПРКБ) для процессора, который прекратил работу
- Сведения о процессе и контекст ядра (ЕПРОЦЕСС) для процесса, который остановился
- Сведения о процессе и контекст ядра (ЕСРЕАД) для потока, который остановил
- Стек вызовов режима ядра для потока, который остановился
Чтобы создать файл дампа памяти, Windows требуется файл подкачки на загрузочном томе размером не менее 2 МБ. На компьютерах под управлением Microsoft Windows 2000 или более поздней версии новый файл дампа памяти создается каждый раз, когда может произойти сбой компьютера. Журнал этих файлов хранится в папке. Если возникает вторая проблема, и если Windows создает второй малый файл дампа памяти, Windows сохраняет предыдущий файл. В Windows каждому файлу присваивается отдельное имя в формате даты. Например, Mini022900-01. dmp это первый файл дампа памяти, который был создан 29 февраля 2000 г. Windows хранит список всех файлов малого дампа памяти в %SystemRoot%\Minidump
папке.
Файл малого дампа памяти может быть полезен при ограниченном пространстве жесткого диска. Тем не менее, из-за ограниченных сведений об ошибках, которые не были непосредственно вызваны потоком, запущенным на момент возникновения проблемы, анализ этого файла может быть невозможен.
Настройка типа дампа
Чтобы настроить параметры запуска и восстановления для использования файла малого дампа памяти, выполните указанные ниже действия.
Примечание
Так как на компьютере существует несколько версий Microsoft Windows, указанные ниже действия могут отличаться. Если это так, ознакомьтесь с документацией по продукту, чтобы выполнить эти действия.
Нажмите кнопку Пуск и выберите Панель управления.
Дважды щелкните значок система, а затем — Дополнительные параметры системы.
Перейдите на вкладку Дополнительно и выберите пункт Параметры в разделе Загрузка и восстановление.
В списке запись отладочной информации выберите Малый дамп памяти (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 приведены в статье Отладка с помощью символови загрузка веб-страницы пакетов символов Windows .
Дополнительные сведения о параметрах файла дампа в Windows можно найти в статье Обзор параметров файла дампа памяти для Windows.
Открытие файла дампа
Чтобы открыть файл дампа по завершении установки, выполните указанные ниже действия.
Нажмите кнопку Пуск, выберите пункт выполнить, введите
cmd
и нажмите кнопку ОК.Перейдите в папку средства отладки для Windows. Для этого введите в командной строку следующую команду и нажмите клавишу ВВОД:
cd c:\program files\debugging tools for windows
Чтобы загрузить файл дампа в отладчик, введите одну из следующих команд и нажмите клавишу ВВОД:
windbg -y SymbolPath -i ImagePath -z DumpFilePath
или
kd -y SymbolPath -i ImagePat -z *DumpFilePath
В следующей таблице описывается использование заполнителей, используемых в этих командах.
Заполнитель | Объяснение |
---|---|
симболпас | Локальный путь, по которому были скачаны файлы символов, или путь к серверу символов, включая папку кэша. Так как файл небольшого дампа памяти содержит ограниченные данные, фактические двоичные файлы должны загружаться вместе с символами, чтобы файл дампа правильно читался. |
ImagePath | Путь к этим файлам. Файлы хранятся в папке 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 Error и его параметры. Код ошибки Stop также называется кодом проверки ошибки.!analyze -v
Команда отображает подробный вывод.lm N T
Команда выводит список заданных загруженных модулей. Выходные данные включают состояние и путь к модулю.
Примечание
Команда! Drivers Extension отображает список всех драйверов, загруженных на конечный компьютер, а также сводные сведения об использовании памяти. Расширение! Drivers устарело в Windows XP и более поздних версиях. Чтобы отобразить сведения о загруженных драйверах и других модулях, используйте lm
команду. lm N T
Команда отображает сведения в формате, аналогичном расширению Old! Drivers.
Дополнительные сведения о других командах и синтаксисе команд приведены в справочной документации по средствам отладки. Справочную документацию по средствам отладки можно найти в следующем расположении:
C:\Program Files\Debugging Tools for Windows\Debugger.chm
Примечание
Если у вас есть проблемы, связанные с символами, воспользуйтесь служебной программой Симчк, чтобы убедиться, что правильные символы загружены правильно. Более подробную информацию об использовании Симчк можно узнать в статье Отладка с помощью символов.
Упрощение команд с помощью пакетного файла
После определения команды, которая необходима для загрузки дампов памяти, можно создать пакетный файл для проверки файла дампа. Например, создайте пакетный файл и присвойте ему имя 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
Настройка minidump Windows 10
Определим причину и затем предоставим возможное решение проблемы устройства, работающего под управлением операционной системы Windows 10, создающего только файл minidump. Минидамп Виндовс — это небольшой файл, который сохраняется на вашем устройстве каждый раз, когда система неожиданно зависает, например, когда появляется BSOD (синий экран смерти).
Где находится minidump
minidump находится в каталоге C:\Windows\minidump или C:\Winnt\minidump в зависимости от вашей версии ОС и имеют имена файлов, такие как «Mini031120-01.dmp» — 03 — это месяц, 11 — день, 20 — год, а 01 — номер файла дампа.
Windows 10 создает только minidump файл
Термин eMMC — сокращение от «Embedded Multi-Media Controller» («Встроенный мультимедийный контроллер») и относится к пакету, состоящему из флэш-памяти и контроллера.
Если файл минидамп сохраняется в каталог %systemroot%\minidump, а не в стандартное расположение C:\windows\minidump. То эта проблема вызвана тем, что из-за управления питанием на устройствах SD eMMC, Windows всегда создает дамп и игнорирует параметры дампа памяти, настроенные администратором.
Чтобы переопределить сохранение по умолчанию, на устройстве должен быть настроен специальный параметр реестра.
Вы можете выполнить действия, описанные ниже, чтобы переопределить функцию энергосбережения Windows eMMC во время BugCheck (также известную как ошибка остановки или ошибка синего экрана), чтобы создать дамп памяти ядра или полный дамп памяти.
После того, как вы приняли необходимые меры предосторожности, вы можете действовать следующим образом:
1. Нажмите клавишу Windows + R. В диалоговом окне «Выполнить» введите «control system» и нажмите «Enter», открываем «Дополнительные параметры системы» > «Загрузка и восстановление». Для параметра «Запись отладочной информации» должно быть задано «Дамп памяти ядра» или «Полный дамп памяти».
Настройка minidump windows 102. Затем перейдите к запуску редактора реестра, чтобы создать и настроить следующий раздел реестра:
ForceF0State: REG_DWORD: 0x1
Этот параметр реестра позволяет записать файл дампа.
Перейдите к пути реестра:
HKLM\SYSTEM\CurrentControlSet\services\sdbus\Parameters\
- Затем щелкните правой кнопкой мыши в пустое место на правой панели
- Выберите «Создать» > «DWORD» (32-бита)
- С названием параметра ForceF0State
- Дважды щелкните только что созданный параметр и установите для данных значение 0x1
- Нажмите ОК.
3. Затем создайте и настройте следующий раздел реестра:
AlwaysKeepMemoryDump: REG_DWORD: 1
Этот параметр реестра гарантирует, что файл дампа не будет удален при перезагрузке, даже если у вас мало свободного места на диске.
Перейдите к пути реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
- Затем щелкните правой кнопкой мыши пустое место на правой панели
- Выберите «Создать» > «DWORD» (32-бита)
- Назовите параметр AlwaysKeepMemoryDump
- Дважды щелкните на него и установите для параметра «Значение» 1.
- Нажмите ОК.
4. Убедитесь, что максимальный размер файла подкачки больше, чем объем оперативной памяти, используемой на компьютере.
5. Перезагрузите устройство.
Что такое минидамп Windows?
Обновлено: 02.08.2020, Computer Hope
Минидамп Windows - это небольшой файл, который сохраняется на вашем компьютере каждый раз, когда компьютер неожиданно останавливается, например, когда вы получаете BSoD. Этот файл хранится в каталоге C: \ Windows \ minidump или C: \ Winnt \ minidump в зависимости от вашей версии Windows. Примером имени файла может быть «Mini030409-01.dmp». В этом примере 03 - это месяц, 04 - день, 09 - год и -01 - номер файла дампа.
Как просмотреть минидамп Windows
Файлы минидампа Windows можно прочитать с помощью утилиты dumpchk , входящей в состав Windows 2000 и средств поддержки Windows XP. Дополнительные сведения см. В справочнике по командам dumpchk .
Как выглядит минидамп Windows?
Откройте пример минидампа Windows.
Настройка параметров минидампа Microsoft Windows
Чтобы настроить, как Windows обрабатывает и создает минидамп, выполните следующие действия.
- Откройте панель управления
- Откройте систему .
- В окне Свойства системы щелкните вкладку Advanced .
- Нажмите кнопку Settings под Startup and Recovery .
- В этом окне вы можете изменить место сохранения этого файла и желаемый размер дампа. Изменение размера этого дампа может быть полезно, если вы часто сталкиваетесь с ошибкой, а небольшой дамп не дает вам всей необходимой информации.
Дамп, Условия операционной системы
.файлов минидампа - приложения Win32
- 2 минуты на чтение
В этой статье
Приложения могут создавать файлы минидампа пользовательского режима, которые содержат полезное подмножество информации, содержащейся в файле аварийного дампа. Приложения могут создавать файлы минидампа очень быстро и эффективно. Поскольку файлы минидампа имеют небольшой размер, их можно легко отправить через Интернет в службу технической поддержки приложения.
Файл минидампа не содержит столько информации, сколько файл полного аварийного дампа, но он содержит достаточно информации для выполнения основных операций отладки. Чтобы прочитать файл минидампа, вы должны иметь двоичные файлы и файлы символов, доступные для отладчика.
Текущие версии Microsoft Office и Microsoft Windows создают файлы минидампа для анализа сбоев на компьютерах клиентов.
Следующие функции DbgHelp используются с файлами минидампа.
MiniDumpCallback
MiniDumpReadDumpStream
MiniDumpWriteDump
.
Посмертная отладка вашего приложения с помощью минидампов и Visual Studio .NET
Сводка : Если ваше приложение дает сбой на сайте клиента, вы можете отлаживать его постфактум с помощью минидампов и отладчика Microsoft® Visual Studio® NET. В этой статье описывается, как работают минидампы, как заставить ваше приложение создавать их при сбое и как читать их обратно с помощью Visual Studio .NET. Минидампы являются ключом к программе отчетов об ошибках Microsoft для повышения надежности операционной системы Windows и таких приложений, как Visual Studio.СЕТЬ. В этой статье также описывается, как использовать сервер символов Microsoft для автоматического поиска символов для компонентов системы. В этой статье предполагается, что вы знакомы с программированием на Win32 и C ++.
Содержание
Что такое минидамп?
Минидамп - это файл, содержащий наиболее важные части отказавшего приложения. Он написан на машине пользователя, а затем заказчик может отправить его разработчику. Разработчик может загрузить дамп, чтобы определить причину сбоя и разработать исправление.
С первых дней существования Windows NT программа «Доктор Ватсон» могла создавать файлы аварийного дампа с расширением .dmp . Однако они оказались не так полезны, как должны были быть, из-за двух проблем:
- Они были огромными. Дамп приложения включал в себя каждый байт всего пространства процесса, поэтому сбой в чем-то простом, например в Блокноте, будет иметь размер в несколько мегабайт, а сбой в чем-то вроде Word может достигать многих сотен мегабайт.Файлы были слишком большими для отправки по электронной почте или FTP.
- Их содержание не обязательно было полезным. Доктор Ватсон был, по сути, JIT-отладчиком, и отладчику сложно получить полный путь к загруженному модулю. Полные отладчики, такие как отладчик Visual Studio, выполняют ряд шагов, чтобы получить пути, но «Доктор Ватсон» этого не сделал. Обычно это приводило к бесполезным названиям модулей, таким как MOD0000 и так далее.
Минидампы были разработаны для решения этих проблем несколькими способами:
- Вместо сохранения всего пространства процесса сохраняются только определенные разделы.Нет смысла сохранять копии таких модулей, как Kernel32.dll ; если указан номер версии, легко получить копию с компакт-диска Windows. Фактическая куча памяти приложения по умолчанию не сохраняется в минидампе; нет необходимости отлаживать удивительно высокий процент сбоев. Однако вы можете сохранить кучу, если вам нужно.
- Код сохранения минидампа предназначен для получения точной и полной информации о модулях, включая их имена, пути, информацию о версии и внутренние временные метки.
- Код сохранения минидампа также получает список потоков, их контексты (то есть наборы регистров) и память за их стеками.
- Сжимается весь файл, что еще больше уменьшает его размер. Размер минидампа для Блокнота в Windows XP составляет около 6К, что почти в 300 раз меньше, чем предыдущий аварийный дамп того же процесса.
Примечание : Мини-дампы режима ядра, которые создаются Windows XP после того, как компьютер перестает отвечать, также существуют, но в этой статье рассматриваются более распространенные мини-дампы пользовательского режима.
Создание минидампа
Есть три способа создать минидамп:
- Добавьте код в собственное приложение, чтобы написать минидамп, если в приложении есть необработанное исключение.
- В интегрированной среде разработки Visual Studio .NET щелкните «Сохранить дамп» в меню «Отладка» во время отладки приложения.
- Ничего не делать.
Первый вариант более подробно рассматривается в следующих разделах.
Второй вариант работает только на рабочей станции с уже настроенным отладчиком, что, вероятно, полезно только внутри организации (например, с другим разработчиком или тестировщиком).Если вы отлаживаете сбой с помощью Visual Studio .NET, вы можете затем нажать «Сохранить дамп как» в меню «Отладка». Вы можете сохранить как минидамп или минидамп с кучей. Вам не нужны какие-либо символы или PDB, настроенные для сохранения файла дампа; однако они понадобятся вам позже, чтобы прочитать его.
Третий вариант работает только в Windows XP, которая автоматически создает минидамп, если приложение имеет необработанное исключение и не настроен отладчик JIT. Кроме того, минидамп отправляется напрямую в Microsoft, поэтому у вас не будет возможности определить, почему.
Проблемы сборки
Чтобы настроить приложение для создания дампов, когда оно перестает отвечать, необходимо настроить сборки для создания полной отладочной информации, особенно для сборок для розничной продажи. После создания PDB вы также должны заархивировать каждый двоичный файл, который доставляется клиентам, и соответствующий ему PDB; вам понадобится PDB позже для отладки любых минидампов, отправленных вашими клиентами.
Также убедитесь, что вы правильно установили информацию о версии в ваших двоичных файлах. Каждый выпуск каждого компонента, который вы поставляете, должен иметь другую версию, чтобы вы могли сопоставить их с минидампом.Поле версии помогает сопоставить биты. Однако сам отладчик не использует информацию о версии; он сопоставляет двоичные файлы на основе внутренней метки времени в заголовке PE.
Что касается вывода, создание отладочной информации для сборок выпуска имеет небольшой эффект. PDB, занимающий некоторое пространство на машине сборки, создается, а двоичный файл будет на несколько сотен байт больше, чтобы записать имя PDB в каталог отладки в PE-файле. Вы не должны предоставлять клиентам PDB; это может позволить клиентам более легко реконструировать ваше приложение.
Написание минидампа с помощью MiniDumpWriteDump
Ключевым API для сохранения минидампа является MiniDumpWriteDump
, который экспортируется из Dbghelp.dll , распространяемой библиотеки DLL, поставляемой с Platform SDK. Убедитесь, что вы используете Windows XP версии 5.1.2600; в более ранних бета-версиях и версиях-кандидатах были проблемы с API, а версии 5.0.x относятся к Windows 2000 и не экспортируют функцию. Если у вас более ранняя версия, чем 5.0, то она входит в пакет Systems Debugger (включая WinDbg и т. Д.) И не подлежит распространению.
Чтобы вызвать API, необходимо отловить сбой, установив обработчик необработанных исключений с помощью API SetUnhandledExceptionFilter
. Это позволяет вызывать функцию фильтра практически в любой момент, когда в приложении возникает необработанное исключение. В некоторых необработанных исключениях, таких как двойной сбой стека, операционная система немедленно завершает работу приложения без вызова фильтра или JIT-отладчика.
В вашей функции фильтрации вы должны загрузить Dbghelp.dll . Это не так просто, как вызвать LoadLibrary
; как и в Windows 2000, вы получите доступ к каталогу из каталога System32 , который не имеет правильного экспорта. Пример кода в прикрепленном файле пытается загрузить из того же места, что и EXE. Установите правильную версию Dbghelp.dll в тот же каталог, что и EXE; если это не сработает, код возвращается к простой LoadLibrary
, которая будет работать только в том случае, если приложение запущено в Windows XP.
После загрузки DLL проверяется указанный экспорт; если все правильно, затем создается файл с соответствующим именем, например, сохраняется в каталоге Temp и используется имя приложения с расширением .dmp . Затем этот дескриптор передается в сам API с некоторой дополнительной информацией, такой как идентификатор процесса и тип файла дампа. В примере используется MiniDumpNormal
. Вы можете захотеть или-in значение флага MiniDumpWithDataSegs
, что эквивалентно опции Minidump With Heap в отладчике Visual Studio.Это приводит к значительно большему размеру файлов дампа.
После создания файла .dmp, приложение сообщает пользователю, где он хранится. Затем пользователь может отправить его по электронной почте или использовать FTP, чтобы получить файл для исследования.
Чтобы использовать предоставленный пример кода, добавьте файл mdump.h и объявите один объект MiniDumper
в глобальной области. Его конструктор принимает аргумент, который должен быть базовым именем файла минидампа. Добавьте в проект mdump.cpp .Для успешной работы необходимо иметь правильный файл Dbghelp.dll в том же каталоге, что и EXE.
Вы не можете отладить код, записывающий минидамп, с помощью отладчика (в примере кода Minidumper :: TopLevelFilter
). Если к процессу подключен отладчик, то фильтр необработанных исключений никогда не будет вызываться. Если у вас возникнут проблемы, вам нужно будет использовать отладку MessageBox
.
Чтение минидампа с помощью Visual Studio .NET
В этом разделе используется пример минидампа, созданного вручную из Блокнота в Windows 2000 и отладки в Windows XP.
Запустите Visual Studio .NET и в меню Файл выберите Открыть решение. Измените раскрывающееся меню Тип файлов на Файлы дампа ( * .dmp ; * .mdmp ), перейдите к минидампу и создайте проект по умолчанию, нажав «Открыть».
Чтобы запустить дамп с отладчиком, нажмите F5. Это предоставит вам информацию, чтобы начать работу. Отладчик создает поддельный процесс; в окне вывода отображаются различные сообщения о загрузке модуля. Отладчик воссоздает только состояние аварийных процессов.После отображения предупреждения о том, что EXE-файл не содержит отладочной информации, отладчик останавливается из-за сбоя пользователя, такого как нарушение прав доступа. Если вы затем изучите окно «Стек вызовов», вы заметите отсутствие символов и полезной информации.
Рис. 1. Исходный стек без символов
Для чтения минидампа обычно требуются копии задействованных двоичных файлов. Чтобы найти нужные двоичные файлы, откройте окно «Модули».
Рисунок 2.Начальные модули без двоичных файлов
На рис. 2 показан пример Блокнота и демонстрируются две вещи. Во-первых, пути к двоичным файлам отмечены звездочками, которые обозначают путь на рабочей станции пользователя, но двоичный файл не может быть найден в этом месте на вашем компьютере. Во-вторых, сообщения читают «Соответствующий двоичный файл не найден» в поле информации. Ключ к поиску совпадающих двоичных файлов - это посмотреть на поле Версия и имя файла. В этом примере версия большинства системных файлов - 2195, что означает Windows 2000.Однако он не сразу указывает на точный пакет обновления (SP) или исправление качества (QFE). Дополнительные сведения см. В базе данных справки DLL по этой ссылке.
На этом этапе вам необходимо найти компакт-диск с операционной системой Windows или рабочую станцию пользователя с правильными версиями и скопировать правильные версии в каталог. Обычно нет необходимости искать каждый двоичный файл, который был в процессе, но важно найти каждый двоичный файл, который присутствует в каждом соответствующем стеке вызовов.Часто это касается как двоичных файлов операционной системы (например, Kernel32.dll ), так и двоичных файлов вашего приложения (в этом примере Notepad.exe ).
Когда вы нашли биты и скопировали их в локальный каталог, в меню «Отладка» щелкните «Остановить отладку». В обозревателе решений щелкните правой кнопкой мыши значок проекта и выберите в контекстном меню пункт Свойства. Вы попадете на страницу отладки. Заполните аргументы команды: MODPATH
, за которым следует знак равенства, а затем список разделенных точками с запятой мест для поиска двоичных файлов.В этом примере это:
MODPATH = m: \ sysbits
После задания пути нажмите F5, чтобы перезагрузить минидамп. MODPATH
повторно использует аргумент команды, чтобы получить значение отладчику; в будущей версии Visual Studio .NET может быть лучший способ настройки этого параметра, возможно, в качестве параметра в диалоговом окне «Свойства».
Хотя обнаружение двоичных файлов вряд ли улучшит стек вызовов, это должно решить некоторые проблемы в окне модулей, как показано на рисунке 3.
Рисунок 3. Модули с двоичными файлами
Вместо сообщения « Не найдено подходящего двоичного файла
» теперь используется комбинация « Не удается найти или открыть требуемый файл DBG
» или « Нет загруженных символов
». Первое сообщение возникает с системными DLL, которые используют DBG для своей отладочной информации. Второе сообщение возникает для библиотек DLL, использующих PDB. Получение соответствующих двоичных файлов не обязательно улучшит ваш стек вызовов; вам также нужна соответствующая им отладочная информация.
Метод A: трудные символы
Чтобы полностью проанализировать минидамп, вы должны найти отладочную информацию для всего, но для экономии времени вы можете найти только ту информацию, которая вам нужна. В примере стека перечислены User32.dll и Kernel32.dll , поэтому им нужна соответствующая отладочная информация.
Соответствие отладочной информации
Операционная система | Требуемые файлы |
Windows NT 4 | DBG |
Windows 2000 | DBGs, PDB | Windows XP | найти системные символы можно здесь.Вы также можете найти системные символы на компакт-диске Support, который поставляется с операционными системами Windows NT Server и Windows 2000 Server. В этом примере они были скопированы в расположение двоичных файлов. В реальных случаях в списке будут бинарные файлы сторонних разработчиков, поэтому вам потребуются PDB для них. Также в этом примере были скопированы DBG и PDB для Блокнота, потому что это был образец приложения.
Заполнитель | Пояснение |
---|---|
SymbolPath | Либо локальный путь, по которому были загружены файлы символов, либо путь к серверу символов, включая папку кэша. Поскольку небольшой файл дампа памяти содержит ограниченную информацию, фактические двоичные файлы должны быть загружены вместе с символами для правильного чтения файла дампа. |
ImagePath | Путь к этим файлам.Файлы находятся в папке 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
Изучите файл дампа
Есть несколько команд, которые вы можете использовать для сбора информации в файле дампа, включая следующие команды:
- Команда
! Analysis -show
отображает код ошибки Stop и ее параметры. Код ошибки Stop также известен как код проверки ошибки. - Команда
! Analysis -v
выводит подробный вывод. - Команда
lm N T
выводит список указанных загруженных модулей.Вывод включает статус и путь модуля.
Примечание
Команда расширения! Drivers отображает список всех драйверов, загруженных на конечный компьютер, вместе со сводной информацией об использовании ими памяти. Расширение! Drivers устарело в Windows XP и более поздних версиях. Чтобы отобразить информацию о загруженных драйверах и других модулях, используйте команду lm
. Команда lm N T
отображает информацию в формате, аналогичном старому расширению драйверов!.
Для получения справки по другим командам и полного синтаксиса команд см. Справочную документацию средств отладки. Справочную документацию по средствам отладки можно найти по следующему адресу:
C: \ Program Files \ Инструменты отладки для Windows \ Debugger.chm
Примечание
Если у вас есть проблемы, связанные с символами, используйте утилиту Symchk, чтобы убедиться, что правильные символы загружены правильно. Для получения дополнительной информации о том, как использовать Symchk, см. Отладка с помощью символов.
Упростите команды с помощью командного файла
После того, как вы определили команду, которая необходима для загрузки дампа памяти, вы можете создать командный файл для проверки файла дампа. Например, создайте командный файл и назовите его 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
Если вы хотите изучить файл дампа, введите следующую команду, чтобы передать путь к файлу дампа пакетному файлу:
дамп c: \ windows \ minidump \ minidump.dmp
.MINIDUMP_TYPE (minidumpapiset.h) - приложения Win32
- 4 минуты на чтение
В этой статье
Определяет тип информации, которая будет записана в файл минидампа Функция MiniDumpWriteDump.
ВажноКод мини-дампа претерпел значительные изменения за годы, прошедшие с момента его создания. Многие из константы, перечисленные на этой странице, были добавлены позже и доступны не во всех версиях DbgHelp.dll. Те, которых не было в исходном коде, помечаются соответствующим образом вместе с версией DbgHelp.dll, которая они впервые были реализованы в. Перечисленные номера версий соответствуют Инструменты отладки Для выпусков Windows и не применяются к копиям DbgHelp.dll, интегрированным в Windows. Видеть Версии DbgHelp для более подробной информации.
Синтаксис
typedef enum _MINIDUMP_TYPE { MiniDumpNormal, MiniDumpWithDataSegs, MiniDumpWithFullMemory, MiniDumpWithHandleData, MiniDumpFilterMemory, MiniDumpScanMemory, MiniDumpWithUnloadedModules, MiniDumpWithIndirectlyReferencedMemory, MiniDumpFilterModulePaths, MiniDumpWithProcessThreadData, MiniDumpWithPrivateReadWriteMemory, MiniDumpWithoutOptionalData, MiniDumpWithFullMemoryInfo, MiniDumpWithThreadInfo, MiniDumpWithCodeSegs, Минидамп без вспомогательного состояния, MiniDumpWithFullAuxiliaryState, MiniDumpWithPrivateWriteCopyMemory, MiniDumpIgnoreInaccessibleMemory, MiniDumpWithTokenInformation, MiniDumpWithModuleHeaders, MiniDumpFilterTriage, MiniDumpWithAvxXStateContext, MiniDumpWithIptTrace, MiniDumpScanInaccessiblePartialPages, MiniDumpValidTypeFlags } MINIDUMP_TYPE;
Константы
Имя | Описание |
---|---|
MiniDump Нормальный | Включите только информацию, необходимую для отслеживания трассировки стека для всех существующих потоков в процессе. |
MiniDumpWithDataSegs | Включите разделы данных из всех загруженных модулей. Это приводит к включению глобальных переменных, которые могут значительно увеличить размер файла минидампа. Для управления по модулям используйте значение перечисления ModuleWriteDataSeg из MODULE_WRITE_FLAGS. |
MiniDump с полной памятью | Включить в процесс всю доступную память. Необработанные данные памяти включены в конце, так что начальные структуры могут отображаться напрямую без необработанной информации о памяти.Эта опция может привести к очень большому файлу . |
MiniDumpWithHandleData | Включить высокоуровневую информацию об дескрипторах операционной системы, которые активны при создании минидампа . |
MiniDumpFilterMemory | Память стека и резервного хранилища, записанная в файл минидампа, должна быть отфильтрована, чтобы удалить все значения указателя, кроме , необходимые для восстановления трассировки стека. |
MiniDumpScanMemory | Память стека и резервного хранилища следует сканировать на предмет указателей на модули в списке модулей.Если на модуль ссылается стек или память резервного хранилища, член ModuleWriteFlags из , структура MINIDUMP_CALLBACK_OUTPUT имеет значение и имеет значение ModuleReferencedByMemory . |
MiniDumpWithUnloadedModules | Включить информацию из списка модулей, которые были недавно выгружены, если эта информация поддерживается операционной системой. Windows Server 2003 и Windows XP: Операционная система не хранит информацию о выгруженных модулях до DbgHelp 5.1: Это значение не поддерживается. |
MiniDump с памятью с косвенной ссылкой | Включить страницы с данными, на которые ссылаются локальные переменные или другая стековая память. Эта опция может значительно увеличить размер файла минидампа. DbgHelp 5.1: Это значение не поддерживается. |
MiniDumpFilterModulePaths | Отфильтруйте пути модулей для такой информации, как имена пользователей или важные каталоги.Эта опция может помешать системе найти файл изображения и должна использоваться только в особых случаях. DbgHelp 5.1: Это значение не поддерживается. |
MiniDumpWithProcessThreadData | Включить полную информацию о процессах и потоках из операционной системы. DbgHelp 5.1: Это значение не поддерживается. |
MiniDumpWithPrivateReadWriteMemory | Просканируйте виртуальное адресное пространство для включения PAGE_READWRITE памяти. DbgHelp 5.1: Это значение не поддерживается. |
MiniDumpБез дополнительных данных | Уменьшите объем выгружаемых данных, удалив области памяти, которые не являются необходимыми для соответствия критерию , указанному для дампа. Это позволяет избежать сброса памяти, которая может содержать данные, которые являются личными для пользователя. Однако это не гарантия отсутствия личной информации. DbgHelp 6.1 и более ранние версии: Это значение не поддерживается. |
MiniDumpWithFullMemoryInfo | Включить информацию об области памяти. Для получения дополнительной информации см. MINIDUMP_MEMORY_INFO_LIST. DbgHelp 6.1 и более ранние версии: Это значение не поддерживается. |
MiniDumpWithThreadInfo | Включить информацию о состоянии потока. Для получения дополнительной информации см. MINIDUMP_THREAD_INFO_LIST. DbgHelp 6.1 и более ранние версии: Это значение не поддерживается. |
MiniDumpWithCodeSegs | Включите весь код и связанные с кодом разделы из загруженных модулей для захвата исполняемого содержимого.Для управления по модулю используйте значение перечисления ModuleWriteCodeSegs из MODULE_WRITE_FLAGS. DbgHelp 6.1 и более ранние версии: Это значение не поддерживается. |
Минидамп без вспомогательного состояния | Выключает сбор вспомогательной вспомогательной памяти. |
Минидамп с полным вспомогательным состоянием | Запрашивает, чтобы поставщики вспомогательных данных включили свое состояние в образ дампа; данные о состоянии, включенные в , зависят от поставщика.Этот параметр может привести к созданию большого дампа изображения. |
MiniDumpWithPrivateWriteCopyMemory | Сканирует виртуальное адресное пространство на предмет наличия памяти PAGE_WRITECOPY . До DbgHelp 6.1: Это значение не поддерживается. |
MiniDumpIgnoreInaccessibleMemory | Если вы укажете MiniDumpWithFullMemory , функция MiniDumpWriteDump завершится ошибкой, если функция не сможет прочитать области памяти; однако, если вы включите MiniDumpIgnoreInaccessibleMemory , функция MiniDumpWriteDump проигнорирует ошибки чтения памяти и продолжит создание дампа.Обратите внимание, что недоступные области памяти не включены в дамп . До DbgHelp 6.1: Это значение не поддерживается. |
MiniDumpWithTokenInformation | Добавляет данные, относящиеся к токену безопасности. Это заставит расширение "! Token" работать при обработке дампа пользовательского режима. До DbgHelp 6.1: Это значение не поддерживается. |
MiniDumpWithModuleHeaders | Добавляет данные, относящиеся к заголовку модуля. До DbgHelp 6.1: Это значение не поддерживается. |
MiniDumpFilterTriage | Добавляет данные, связанные с сортировкой фильтров. До DbgHelp 6.1: Это значение не поддерживается. |
MiniDumpWithAvxXStateContext | |
MiniDumpWithIptTrace | |
MiniDumpValidTypeFlags | Указывает, какие флаги действительны. |
Требования
Заголовок | minidumpapiset.h (включая DbgHelp.h) |
Распространяемая доля | DbgHelp.dll 5.1 или новее |
См. Также
MiniDumpWriteDump
.Отладка файлов минидампа OCA - драйверы Windows
- 3 минуты на чтение
В этой статье
Online Crash Analysis (OCA) - это средство создания отчетов об ошибках Windows (WER). Ваша компания может использовать аварийные дампы OCA для анализа проблем клиентов.
Анализировать файлы дампа
Файлы дампа - это моментальный снимок состояния компьютера (или процесса) во время сбоя.
Для анализа этих данных разработчик должен использовать отладчик, который может читать пользовательские файлы минидампа. Отладчик также должен иметь доступ как к изображениям, так и к символам, которые соответствуют содержимому файла дампа. Большинство разработчиков осознают необходимость использования совпадающих символов при отладке аварийного сбоя. Однако при отладке минидампа соответствующие изображения также должны быть доступны для отладчика.
Соответствующие изображения должны быть доступны, потому что файлы минидампа хранят очень мало информации; они хранят только часть изменчивой информации во время сбоя.Они не хранят основные потоки кода, загруженные компьютером в память. Вместо этого для экономии места в файле минидампа хранятся только имя и временная метка изображений, загруженных на сбойный компьютер.
Чтобы проверить код, который выполнялся на аварийном компьютере, отладчику должен быть предоставлен доступ к тем же двоичным файлам, что и на аварийном компьютере. Отладчик использует имя и отметку времени, хранящиеся в файле минидампа, чтобы однозначно сопоставить и загрузить двоичные файлы, когда разработчик хочет отладить сбой.
После того, как изображения и символы загружены в отладчик, вы можете проанализировать состояние системы во время сбоя, включая данные, которые были сохранены после сбоя. Однако минидамп не воспроизводит шаги, которые привели к конкретной ошибке. Поиск основной причины требует анализа исходного кода драйвера, чтобы определить, какой путь кода мог привести к сбою. Опыт показал, что большой процент сбоев можно понять и устранить путем анализа файлов дампа и исходного кода.
Используйте символы для сопоставления исполняемого кода с исходным кодом
Лучший способ получить доступ к совпадающим изображениям и символам - использовать сервер символов Microsoft. Символы - это данные, которые позволяют отладчику сопоставлять исполняемый код с исходным кодом. Когда вы создаете программу, символы программы обычно хранятся в файлах символов. Когда отладчик анализирует программу, ему требуется доступ к символам программы.
Файлы символов могут включать любое или все из следующего:
- Имена и адреса всех функций.
- Все определения типов данных, структуры и классов.
- Имена, типы данных и адреса глобальных переменных.
- Имена, типы данных, адреса и области действия локальных переменных.
- Номер строки в исходном коде, соответствующий каждой двоичной инструкции.
Комплект драйверов Windows (WDK) включает инструменты, которые можно использовать для уменьшения количества символов в файле символов. Файлы символов, содержащие всю информацию на уровне источника, называются полными файлами символов.Файлы символов с сокращенной информацией называются файлами символов с удаленными данными. Для получения дополнительной информации см. BinPlace.
Поскольку данные символов имеют решающее значение для получения значимой информации о сбоях из данных отчета об ошибках Windows (WER), мы рекомендуем вам отправлять свои символы при отправке драйверов на подпись. Когда символы отправляются, они сохраняются на сервере, который синхронизирует данные символов с соответствующими процессами WER. С помощью этого процесса хранения вы можете легко классифицировать сбои, о которых сообщается в файлах минидампа, и в конечном итоге получать более качественные данные от Microsoft.
Microsoft предоставляет сервер символов в Интернете, который можно использовать для анализа модулей Windows, присутствующих в файлах минидампа. Сервер включает файлы с удаленными символами для Windows и некоторых других продуктов. Microsoft добавила двоичные файлы для Windows XP и Windows Server 2003. Для анализа файлов минидампа можно использовать сервер символов Интернета и средства отладки для Windows.
Интегрировать WER в приложения
Для получения дополнительной информации об интеграции WER в приложения см. Использование WER.
Расширенная отладка драйвера [336 КБ] [PPT]
Загрузки WDK и WinDbg
Основы отладки драйвера[WinHEC 2007; 633 KB] [PPT]
Как прочитать небольшой файл дампа памяти, созданный Windows, в случае сбоя
Заявления определения ресурсов
Отчеты об ошибках Windows
VERSIONINFO ресурс
.