Проверка символов отладки Windows

Переводы статьи Переводы статьи
Код статьи: 148660 - Vizualiza?i produsele pentru care se aplic? acest articol.
Поддержка для Windows Vista с пакетом обновления 1 (SP1) завершается 12 июля 2011. Чтобы продолжить получать обновления для системы безопасности для Windows, убедитесь, что вы используете Windows Vista с пакетом обновления 2 (SP2). Дополнительные сведения можно найти эту веб-страницу Майкрософт: Заканчивается поддержка для некоторых версий Windows.
Развернуть все | Свернуть все

В этой статье

Аннотация

Символы отладки Windows должны быть проверены после запуска отладчика ядра (I386kd.exe | WinDBG.exe). отладчик может загружать и представлять запрос, но неправильные символы, соответствующие функции и переменные, которые приводит к результатам случайные будущих команды отладки не ссылаются. Ниже перечислены некоторые красные флаги и несколько методов для плашечных проверять правильность символов.

Дополнительная информация

В данной статье подразумевается, что отладчик ядра работает и загрузил файл Memory.dmp или подключение к удаленному компьютеру. Команды представлены не полностью задокументированы и отображаются только выдержки из выходных данных.

Содержание

  • Загрузка отладчик ядра
  • Проверка времени создания с! драйверы
  • Проверка времени создания с помощью Link.exe
  • Unassembling функция
  • Символы Пакет обновления

Загрузка отладчик ядра

Нормальной нагрузке отладчика ядра отображает один из следующих запросов:
KD настроек однопроцессорной системе

0: kd настроек многопроцессорной системы
Приведенный ниже запрос указывает, что файл символов для файла Ntoskrnl.exe неправильно. Проверьте соответствующие многопроцессорного или однопроцессорного ядра и HAL копируются в дерево символов.

Пример:
Symbol search path is: C:\symbols
kd: crash dump initialized [c:\dump\memory.dmp]
could not determine the current processor, using zero
Kernel Version 1057 Free loaded @ 0x80100000
Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001
*** Contents Deleted ***
16kd>
				
В первые несколько строк отображается при загрузке файла Memory.dmp, версия ядра, а также число процессоров отладчик ядра. Убедитесь, что соответствует число процессоров с соответствующим ядра и HAL. Драйвер символьной информации отображается либо символы при загрузке или отложена.

Загрузка образца:
Symbol search path is: C:\symbols
kd: crash dump initialized [c:\dump\memory.dmp]
Kernel Version 1057 Free loaded @ 0x80100000
Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001
re-loading all kernel symbols
KD: unloading symbols for "ntoskrnl.exe"
KD: deferring symbol load for "ntoskrnl.exe" at 80100000
KD: Loaded (2248) fpo entries for image (ntoskrnl.exe)
KD: "ntoskrnl.exe" loaded 4074 symbols (80100000-801bbb80)
KD: loaded symbols for "ntoskrnl.exe"
KD: deferring symbol load for "atapi.sys" at fc810000
KD: deferring symbol load for "diskdump.sys" at fc800000
KD: deferring symbol load for "hal.dll" at 80400000
KD: deferring symbol load for "atapi.sys" at 80010000
KD: deferring symbol load for "SCSIPORT.SYS" at 80013000
KD: deferring symbol load for "Atdisk.sys" at 80001000
KD: deferring symbol load for "Scsidisk.sys" at 8001b000
KD: deferring symbol load for "Fastfat.sys" at 80372000
Unable to read image header for Floppy.SYS at fc820000 - status c0000001
*** Contents Deleted ***
KD: deferring symbol load for "srv.sys" at fc9e0000
KD: deferring symbol load for "ntdll.dll" at 77f80000
finished re-loading all kernel symbols
NT!_PspUnhandledExceptionInSystemThread+0x18:
80131ff8 b801000000       mov     eax,0x1
kd>
				
Обратите внимание, что отладчик ядра была «Не удается прочитать заголовок изображения для Floppy.sys в fc820000 - c0000001 статус.» Это сообщение является нормальным, так как заголовок конкретного драйвера не находится в памяти.

Проверка времени создания с! драйверы

Использование ! драйверы команду для текущего списка драйверов, загруженных в память. Сделайте заметки из дат и времени драйверов и ли они может быть загружен. (В следующем примере кода и размера данных столбцы удаляются по ширине статьи.)
kd> !drivers
Base       Code Size Data Size  Driver Name        Creation Time
80100000                       Ntoskrnl.exe   Fri May 26 18:18:36 1995
80400000                            Hal.dll   Thu May 11 13:54:18 1995
80010000                          Atapi.sys   Tue May 23 21:01:41 1995
80013000                       Scsiport.sys   Fri May 05 23:11:06 1995
80001000                         Atdisk.sys   Fri May 05 23:10:40 1995
8001b000                       Scsidisk.sys   Fri May 05 23:11:01 1995
80372000                        Fastfat.sys   Mon May 22 23:57:13 1995
fc820000                         Floppy.sys   Header Paged Out
fc830000                       Scsicdrm.sys   Wed May 10 21:57:03 1995
fc840000                         Fs_Rec.sys   Header Paged Out
fc850000                           Null.sys   Header Paged Out
fc860000                           Beep.sys   Header Paged Out
fc870000                       I8042prt.sys   Fri May 05 23:10:42 1995
fc880000                       Mouclass.sys   Fri May 05 23:10:45 1995
fc890000                       Kbdclass.sys   Fri May 05 23:10:44 1995
fc8b0000                       Videoprt.sys   Fri May 05 23:10:05 1995
fc8a0000                             S3.sys   Fri May 19 21:18:06 1995
fc8c0000                            Vga.sys   Fri May 05 23:10:10 1995
fc8d0000                           Msfs.sys   Fri May 05 23:11:57 1995
fc8e0000                           Npfs.sys   Fri May 05 23:11:40 1995
fc900000                           Ndis.sys   Mon May 22 20:23:18 1995
fc8f0000                          El59x.sys   Fri Feb 10 16:18:09 1995
fc940000                            Tdi.sys   Fri May 05 23:13:09 1995
fc920000                            Nbf.sys   Mon May 08 15:00:47 1995
fc950000                        Netbios.sys   Fri May 05 23:13:19 1995
fc960000                        Parport.sys   Header Paged Out
fc970000                       Parallel.sys   Header Paged Out
fc980000                         Serial.sys   Fri May 05 23:11:20 1995
fc990000                            Afd.sys   Header Paged Out
fc9a0000                            Rdr.sys   Wed May 17 17:18:16 1995
fc9e0000                            Srv.sys   Wed May 24 21:56:59 1995
TOTAL:   1ab460 (1709 kb)  3b7c0 ( 237 kb) (    0 kb     0 kb)
kd>
				
Обратите внимание, время создания файла, то есть дата, когда файл скомпилирован. Эта дата является близко к Date\Time штампа на сам файл при просмотре Winnt\System32\Drivers вложенной папки с помощью диспетчера файлов.

Подписка на Microsoft Developer Network (MSDN) и пакет драйвера устройства (DDK) для подтверждения DBG-файл, созданный при компиляции драйвера и тот же файл может использоваться программы Link.exe. «Дата штампа времени» в приведенном ниже примере соответствует «Создать время» Netbios.sys в приведенном выше примере.

Используйте для проверки «Дата штампа времени» из DBG-файл Link.exe:
СВЯЗЬ - dump - заголовки \symbols\sys\netbios.dbg
Microsoft (R) COFF двоичных файлов сборщика версии 3.00.5270
(C) Корпорация Майкрософт, 1992-1995. Все права защищены.

Дамп файла Netbios.dbg
подпись 4944
0 флаги
14C компьютера (i386)
характеристики 306
Штамп времени Дата 2FAAE94F 05 мая пятница 23:13:19 1995
Контрольная сумма 8D0B изображения

10000 базового образа

70A0 размер изображения
** Удалить содержимое **

Если ! драйверы команда создает строки, которые выглядят следующим образом, таблицу, важным в дампе поврежден. Анализ дампа не возможно.
Не удается прочитать DosHeader в 0583002a - состояние 00000000
Не удается прочитать DosHeader в 0587002a - состояние 00000000
Не удается прочитать DosHeader в 0588002a - состояние 00000000
Не удается прочитать DosHeader в 058a002a - состояние 00000000
Не удается прочитать DosHeader в 058c002a - состояние 00000000

Unassembling функция

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

Функции обычно начинаются с либо «push ebp» или «mov eax, fs [000000000].» Базовые знания по машинный язык и опыт позволит один распознавать эти функции.
  • Список загруженных модулей
    x *!
  • Список символов для конкретного модуля (для example,Ntoskrnl.exe).
    x nt! *
  • Выберите функцию для дизассемблирования, не compileroptimized.
    u NT! _NtUnlockFile

Хороший символы

kd> u NT!_NtUnlockFile
u NT!_NtUnlockFile
NT!_NtUnlockFile:
80156bd8 64a100000000     mov     eax,fs:[00000000]
80156bde 55               push    ebp
80156bdf 8bec             mov     ebp,esp
80156be1 6aff             push    0xff
80156be3 68200d1080       push    0x80100d20
80156be8 68304f1380       push    0x80134f30
80156bed 50               push    eax
80156bee 64892500000000   mov     fs:[00000000],esp
kd>
				
Unassembly функция должна выглядеть текст выше; Однако unassembly не может быть изменен. Unassembly выглядит правильно, можно предположить, что загружены символы правильно для этого модуля.

Следующие unassembly начинается с "jnz NT! _NTUnlockFile + 0x22." Очевидно, что в начале функции не загрузится с кодом инструкцию перехода. Еще раз проверьте дерево символов.

Неверные символы.

kd> u NT!_NTUnlockFile
u NT!_NTUnlockFile
NT!_NtUnlockFile:
801574a4 7520             jnz     NT!_NtUnlockFile+0x22 (801574c6)
801574a6 6a00             push    0x0
801574a8 8d45dc           lea     eax,[ebp-0x24]
801574ab 50               push    eax
801574ac 53               push    ebx
801574ad ff356c361480     push    dword ptr [NT!_CcNoDelay+0x4 (8014366c)]
801574b3 6a01             push    0x1
801574b5 ff7508           push    dword ptr [ebp+0x8]
				

Символы Пакет обновления

Бывают случаи, когда трудно искомые символы с конкретной установки. В определенный момент времени службы могут быть добавлены, требующей копирования файлов с компакт-диск установки Windows, который копируются файлы, которые были обновлены с помощью пакета обновления. Не забудьте повторно установите пакет обновления и поддержки сторонних диски после изменения настройки системы для копирования файлов с установочного компакт-диска Windows. Символы должны применяться в том же порядке, что и установка.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Чтобы найти ядра отладки как на серию статей, поиск на ключевое слово: debugref.

Методы символ WinDBG 2.0.x

В отладочной версии 2.0.x и выше отладчиков Microsoft, существуют дополнительные шаги проверки, которые могут быть использованы. Для получения дополнительных сведений обратитесь на следующий веб-узел корпорации Майкрософт:
Пакет средств разработки драйверов

Свойства

Код статьи: 148660 - Последний отзыв: 1 ноября 2013 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • операционная система Microsoft Windows NT Workstation 3.5
  • операционная система Microsoft Windows NT Workstation 3.51
  • операционная система Microsoft Windows NT Server 3.51
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Small Business Server 2003 R2 Premium Edition
  • Microsoft Windows Small Business Server 2003 R2 Standard Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Home Edition N
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional N
  • Microsoft Windows XP Professional x64 Edition
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows 7 Beta
  • Windows Vista Business
  • Windows Vista Business 64-bit edition
  • Windows Vista Business N
  • Windows Vista Business N 64-bit Edition
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista Home Premium
  • Windows Vista Ultimate
Ключевые слова: 
kbinfo kbmt KB148660 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 148660

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com