Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Підтримка для Windows Vista пакет оновлень 1 (SP1) завершується 12 липня 2011 року. Щоб і надалі отримувати оновлення системи безпеки Windows, переконайтеся, що ви використовуєте Windows Vista з пакетом оновлень 2, (SP2). Щоб отримати додаткові відомості, див. цю веб-сторінку в Microsoft: завершується підтримка деяких версій Windows.

Загальні відомості

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

Додаткові відомості

У цій статті припускається, що налагоджувач ядра працює і завантажений файл Memory DMP або підключення до віддаленого комп'ютера. Команди, представлені не повністю задокументовані та відображаються, лише на фрагменти з виводу.

Зміст

  • Завантаження налагоджувач ядра

  • Перевірка час створення! драйверів

  • За допомогою Link.exe, щоб перевірити час створення

  • Unassembling функція

  • Пакет оновлень символів

Завантаження налагоджувач ядра

Звичайний навантаження налагоджувач ядра, відображається одне з таких запитів:

KD > багатопроцесорні системи, 0: kd > багатопроцесорну системуРядок, нижче означає, що файл символ Ntoskrnl.exe неправильні. Перевірте, що відповідні багатопроцесорної або багатопроцесорні ядра і HAL, копіюються у дерево символ. Наприклад:Symbol search path is: C:\symbolskd: crash dump initialized [c:\dump\memory.dmp]could not determine the current processor, using zeroKernel Version 1057 Free loaded @ 0x80100000Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001*** Contents Deleted ***16kd> Налагоджувач ядра, під час завантаження у файл Memory DMP, версію ядра, а також кількість процесорів відображається в одному з перших рядків. Переконайтеся, що кількість процесорів, який відповідає відповідні ядра та HAL. Відомості про драйвер-символ відображається або символи завантажується, або відкладено. Приклад завантаження:Symbol search path is: C:\symbolskd: crash dump initialized [c:\dump\memory.dmp]Kernel Version 1057 Free loaded @ 0x80100000Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001re-loading all kernel symbolsKD: unloading symbols for "ntoskrnl.exe"KD: deferring symbol load for "ntoskrnl.exe" at 80100000KD: 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 fc810000KD: deferring symbol load for "diskdump.sys" at fc800000KD: deferring symbol load for "hal.dll" at 80400000KD: deferring symbol load for "atapi.sys" at 80010000KD: deferring symbol load for "SCSIPORT.SYS" at 80013000KD: deferring symbol load for "Atdisk.sys" at 80001000KD: deferring symbol load for "Scsidisk.sys" at 8001b000KD: deferring symbol load for "Fastfat.sys" at 80372000Unable to read image header for Floppy.SYS at fc820000 - status c0000001*** Contents Deleted ***KD: deferring symbol load for "srv.sys" at fc9e0000KD: deferring symbol load for "ntdll.dll" at 77f80000finished re-loading all kernel symbolsNT!_PspUnhandledExceptionInSystemThread+0x18:80131ff8 b801000000 mov eax,0x1kd> Зверніть увагу, що налагоджувач ядра, було "Не вдалося прочитати зображення заголовка, для Floppy.sys на fc820000 - стан c0000001". Це повідомлення, є нормальним через те, що конкретного драйвера заголовок наразі не є в пам'яті.

Перевірка час створення! драйверів

Використання в ! драйвери команду Список драйверів, в даний час, завантажуються в пам'ять. Переконайтеся, що відомості про значення дати та часу, драйверів і чи ні, вони можуть бути завантажені. (Код і дані розмір стовпців у наступному прикладі видаляються за шириною статті).kd> !driversBase Code Size Data Size Driver Name Creation Time80100000 Ntoskrnl.exe Fri May 26 18:18:36 199580400000 Hal.dll Thu May 11 13:54:18 199580010000 Atapi.sys Tue May 23 21:01:41 199580013000 Scsiport.sys Fri May 05 23:11:06 199580001000 Atdisk.sys Fri May 05 23:10:40 19958001b000 Scsidisk.sys Fri May 05 23:11:01 199580372000 Fastfat.sys Mon May 22 23:57:13 1995fc820000 Floppy.sys Header Paged Outfc830000 Scsicdrm.sys Wed May 10 21:57:03 1995fc840000 Fs_Rec.sys Header Paged Outfc850000 Null.sys Header Paged Outfc860000 Beep.sys Header Paged Outfc870000 I8042prt.sys Fri May 05 23:10:42 1995fc880000 Mouclass.sys Fri May 05 23:10:45 1995fc890000 Kbdclass.sys Fri May 05 23:10:44 1995fc8b0000 Videoprt.sys Fri May 05 23:10:05 1995fc8a0000 S3.sys Fri May 19 21:18:06 1995fc8c0000 Vga.sys Fri May 05 23:10:10 1995fc8d0000 Msfs.sys Fri May 05 23:11:57 1995fc8e0000 Npfs.sys Fri May 05 23:11:40 1995fc900000 Ndis.sys Mon May 22 20:23:18 1995fc8f0000 El59x.sys Fri Feb 10 16:18:09 1995fc940000 Tdi.sys Fri May 05 23:13:09 1995fc920000 Nbf.sys Mon May 08 15:00:47 1995fc950000 Netbios.sys Fri May 05 23:13:19 1995fc960000 Parport.sys Header Paged Outfc970000 Parallel.sys Header Paged Outfc980000 Serial.sys Fri May 05 23:11:20 1995fc990000 Afd.sys Header Paged Outfc9a0000 Rdr.sys Wed May 17 17:18:16 1995fc9e0000 Srv.sys Wed May 24 21:56:59 1995TOTAL: 1ab460 (1709 kb) 3b7c0 ( 237 kb) ( 0 kb 0 kb)kd> Зверніть увагу на час створення файлу, який дати, буде зібрано файл. Ця дата близька Date\Time штамп на фактичний файл під час перегляду Winnt\System32\Drivers підпапки, за допомогою файлу менеджера. Якщо ви підписатися на Microsoft Network розробників (MSDN) або Windows набір драйверів пристроїв (DDK), можна використовувати, щоб підтвердити, що Dbg файл створено, коли драйвер складений файл Link.exe. exe. "Дата позначка часу" у наведеному нижче прикладі збігається з "Створення час" Netbios.sys у виводі вище. Пошуку "Дата позначка часу" Dbg-файлу за допомогою Link.exe:

ПОСИЛАННЯ - дамп - заголовки \symbols\sys\netbios.dbgMicrosoft (R) COFF двійковий файл Самоскид, версія 3.00.5270 Copyright (C) Microsoft Corp 1992-1995. Всі права застережені. Дамп файл Netbios.dbg

4944 підпису 0 змінити позначки 306 характеристики 14C-машини (i386)2FAAE94F дата позначка часу п'ятниця Травень 05 13:23:19 1995

Контрольна сума 8D0B, зображення 10000 основний 70A0 розмір зображення, зображення* * Вміст видалені * * якщо у ! драйвери команда створює, усі рядки, що виглядати таким чином, важливо таблицю, у смітник пошкоджено. Подальший аналіз смітник не можна.

Не вдається прочитати DosHeader в 0583002a - стан 00000000 не вдається прочитати DosHeader в 0587002a - стан 00000000 не вдається прочитати DosHeader в 0588002a - стан 00000000 не вдається прочитати DosHeader в 058a002a - стан 00000000 не вдається прочитати DosHeader в 058c002a - стан 00000000

Unassembling функція

Символом файлів, увімкніть налагоджувач ядра, для посилання на ім'я функції та глобальні змінні. Місце, перевірте кілька unassembled функції, щоб переконатися, що виглядають належного. Багато функцій, які компілятор оптимізовано і не обов'язково відповідають наведені нижче приклади. Компілятор, який оптимізовано функції позначаються FPO, у в імені функції. Функції, як правило, починаються з або натиснути "ebp" або "mov eax, fs [000000000]". Базові знання мові та сумісності дає змогу один розпізнати цих функцій.

  • Список завантажених модулів x *!

  • Список символів для конкретного модуля (наприклад, Ntoskrnl.exe). x nt! *

  • Виберіть функція unassemble, тобто не компілятор, оптимізовано. u NT! _NtUnlockFile

Добре символів.

kd> u NT!_NtUnlockFileu NT!_NtUnlockFileNT!_NtUnlockFile:80156bd8 64a100000000     mov     eax,fs:[00000000]80156bde 55               push    ebp80156bdf 8bec             mov     ebp,esp80156be1 6aff             push    0xff80156be3 68200d1080       push    0x80100d2080156be8 68304f1380       push    0x80134f3080156bed 50               push    eax80156bee 64892500000000   mov     fs:[00000000],espkd> 

Unassembly, функція має виглядати в тексті нижче; Проте в unassembly, він може змінюватися. Якщо в unassembly належного можна припустити, що символи мають завантажити належним чином цей модуль. Таке unassembly, які починаються з "jnz NT! _NTUnlockFile + 0x22." Явно, початок функції не завантажиться з кодом переходів інструкції. Ще раз перевірте дерево символів.

Неправильний символів.

kd> u NT!_NTUnlockFileu NT!_NTUnlockFileNT!_NtUnlockFile:801574a4 7520             jnz     NT!_NtUnlockFile+0x22 (801574c6)801574a6 6a00             push    0x0801574a8 8d45dc           lea     eax,[ebp-0x24]801574ab 50               push    eax801574ac 53               push    ebx801574ad ff356c361480     push    dword ptr [NT!_CcNoDelay+0x4 (8014366c)]801574b3 6a01             push    0x1801574b5 ff7508           push    dword ptr [ebp+0x8] 

Пакет оновлень символів

Існують випадки, коли важко відповідно до символів, зокрема інсталяції. У якийсь час службу можна було додано, які копіювання файлів з компакт-інсталяції Windows, які копіюються файли, які було оновлено, до пакета оновлень. Переконайтеся, що для повторного пакет оновлень та будь-які диски з підтримки для сторонніх виробників, після інсталяції системи копіює файли з компакт-диска інсталяції Windows. У тому самому порядку, як її слід застосовувати символів.

ДОДАТКОВІ ВІДОМОСТІ

Знайти ядра налагодження способи серії статей, виконайте пошук за ключовим словом: debugref. Символ технології WinDbg-2.0. x Налагоджувач версії 2.0. x і Microsoft отладчиков, допоміжні підтвердження дії, який можна використовувати. Щоб отримати додаткові відомості див. на таких веб-сайті Microsoft:

Набір для розробки драйверів

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×