Анализ файла дампа в режиме пользователя
Этот раздел включает следующие темы.
- Анализ файла дампа в режиме пользователя с помощью WinDbg
- Анализ файла дампа в режиме пользователя с помощью CDB
Анализ файла дампа в режиме пользователя с помощью WinDbg
Файлы дампа памяти в пользовательском режиме можно анализировать с помощью WinDbg. Процессор или версия Windows, на которой был создан файл дампа, не обязательно соответствует платформе, на которой выполняется WinDbg.
Установка файлов символов
Перед анализом файла дампа памяти необходимо получить доступ к файлам символов для версии Windows, создающей файл дампа. Эти файлы будут использоваться отладчиком, который вы решили использовать для анализа файла дампа. Сведения о работе с сервером символов см. в разделе "Общедоступные символы Майкрософт".
Вам также потребуется установить все файлы символов для процесса пользовательского режима ( приложения или системной службы), что привело к созданию файла дампа системой. Если этот код был написан вами, файлы символов должны быть созданы при компиляции и связывании кода. Если это коммерческий код, проверьте компакт-диск продукта или обратитесь к производителю программного обеспечения для этих конкретных файлов символов.
Запуск WinDbg
Чтобы проанализировать файл дампа, запустите WinDbg с параметром командной строки -z :
windbg -y SymbolPath -i ImagePath -z DumpFileName
Параметр -v (подробный режим) также полезен. Полный список параметров см. в разделе "Параметры командной строки WinDbg".
Если WinDbg уже запущен и находится в спящей режиме, можно открыть аварийный дамб, выбрав файл | Откройте команду меню аварийного дампа или нажмите сочетание клавиш CTRL+D. При появлении диалогового окна "Открыть аварийный дампы" введите полный путь и имя файла аварийного дампа в текстовом поле имени файла или используйте диалоговое окно, чтобы выбрать правильный путь и имя файла. Когда выбран соответствующий файл, нажмите кнопку "Открыть".
Вы также можете открыть файл дампа после запуска отладчика с помощью команды opendump (Open Dump File) и g (Go).
Одновременно можно выполнить отладку нескольких файлов дампа. Это можно сделать, включая несколько коммутаторов -z в командной строке (каждый из которых следует другое имя файла), или с помощью opendump для добавления дополнительных файлов дампа в качестве целевых объектов отладчика. Сведения о том, как управлять сеансом с несколькими целевыми объектами, см. в разделе "Отладка нескольких целевых объектов".
Файлы дампа обычно заканчиваются расширением .dmp или MDMP. Для файла дампа памяти можно использовать сетевые ресурсы или имена файлов универсального соглашения об именовании (UNC).
Файлы дампа также часто упаковываются в CAB-файл. Если указать имя файла (включая расширение .cab) после параметра -z или в качестве аргумента команды opendump отладчик может считывать файлы дампа непосредственно из CAB. Однако если в одном CAB есть несколько файлов дампа, отладчик сможет только прочитать один из них. Отладчик не считывает дополнительные файлы из CAB, даже если они были файлами символов или исполняемыми файлами, связанными с файлом дампа.
Анализ полного файла дампа пользователя
Анализ полного файла дампа пользователя аналогичен анализу сеанса динамической отладки. Дополнительные сведения о том, какие команды доступны для отладки файлов дампа в пользовательском режиме, см. в разделе "Команды отладчика".
Анализ файлов Minidump
Анализ мини-dump-файла в пользовательском режиме выполняется так же, как полный дамп пользователя. Тем не менее, так как значительно меньше памяти сохранено, вы гораздо более ограничены в действиях, которые можно выполнить. Команды, которые пытаются получить доступ к памяти за пределами того, что сохраняется в мини-файле minidump, не будут работать должным образом.
Дополнительные методы
Методы, которые можно использовать для чтения определенных типов сведений из файла дампа, см. в разделе "Извлечение сведений из файла дампа".
Анализ файла дампа в режиме пользователя с помощью CDB
Файлы дампа памяти в пользовательском режиме можно анализировать с помощью CDB. Версия процессора или Windows, на которой был создан файл дампа, не должна соответствовать платформе, на которой выполняется CDB.
Установка файлов символов
Перед анализом файла дампа памяти необходимо получить доступ к файлам символов для версии Windows, создающей файл дампа. Эти файлы будут использоваться отладчиком, который вы решили использовать для анализа файла дампа. Сведения о работе с сервером символов см. в разделе "Общедоступные символы Майкрософт".
Вам также потребуется установить все файлы символов для процесса пользовательского режима ( приложения или системной службы), что привело к созданию файла дампа системой. Если этот код был написан вами, файлы символов должны быть созданы при компиляции и связывании кода. Если это коммерческий код, проверьте компакт-диск продукта или обратитесь к производителю программного обеспечения для этих конкретных файлов символов.
Запуск CDB
Чтобы проанализировать файл дампа, запустите CDB с параметром командной строки -z :
cdb -y SymbolPath -i ImagePath -z DumpFileName
Параметр -v (подробный режим) также полезен. Полный список параметров см. в разделе "Параметры командной строки CDB".
Вы также можете открыть файл дампа после запуска отладчика с помощью команды opendump (Open Dump File) и g (Go). Это позволяет одновременно выполнять отладку нескольких файлов дампа.
Одновременно можно выполнить отладку нескольких файлов дампа. Это можно сделать, включая несколько коммутаторов -z в командной строке (каждый из которых следует другое имя файла), или с помощью opendump для добавления дополнительных файлов дампа в качестве целевых объектов отладчика. Сведения о том, как управлять сеансом с несколькими целевыми объектами, см. в разделе "Отладка нескольких целевых объектов".
Файлы дампа обычно заканчиваются расширением .dmp или MDMP. Для файла дампа памяти можно использовать сетевые ресурсы или имена файлов универсального соглашения об именовании (UNC).
Файлы дампа также часто упаковываются в CAB-файл. Если указать имя файла (включая расширение .cab) после параметра -z или в качестве аргумента команды opendump отладчик может считывать файлы дампа непосредственно из CAB. Однако если в одном CAB есть несколько файлов дампа, отладчик сможет только прочитать один из них. Отладчик не считывает дополнительные файлы из CAB, даже если они являются файлами символов или исполняемыми файлами, связанными с файлом дампа.
Анализ полного файла дампа пользователя
Анализ полного файла дампа пользователя аналогичен анализу сеанса динамической отладки. Дополнительные сведения о том, какие команды доступны для отладки файлов дампа в пользовательском режиме, см. в разделе "Команды отладчика".
Анализ файлов Minidump
Анализ мини-dump-файла в пользовательском режиме выполняется так же, как полный дамп пользователя. Тем не менее, так как значительно меньше памяти сохранено, вы гораздо более ограничены в действиях, которые можно выполнить. Команды, которые пытаются получить доступ к памяти за пределами того, что сохраняется в мини-файле minidump, не будут работать должным образом.
Дополнительные методы
Методы, которые можно использовать для чтения определенных типов сведений из файла дампа, см. в разделе "Извлечение сведений из файла дампа".