Teď jste offline a čekáte, až se znova připojí internet.

Jak ověřit symboly pro ladění systému Windows

Podpora Windows XP byla ukončena.

Společnost Microsoft ukončila dne 8. dubna 2014 podporu Windows XP. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu.

Podpora pro Windows Server 2003 byla ukončena 14. července 2015

Společnost Microsoft ukončila podporu pro Windows Server 2003 dne 14. července 2015. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu.

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:148660
Souhrn
Symboly pro ladění systému Windows musí být ověřena po spuštění ladicí program jádra (nástroje I386kd.exe | Program WinDbg.exe). mohou načíst ladicího programu a prezentovat řádku, ale pokud symboly jsou nesprávné, budoucí ladění příkazů Neodkazovat na správné funkce a proměnné, které vede k Občasná výsledky. Níže jsou uvedeny několik příznaků červené a několik metod přímé kontroly platnost symboly.
Další informace
Tento článek předpokládá, že je spuštěn ladicí program jádra byl načten soubor Memory.dmp a je připojen ke vzdálenému počítači. Příkazy uvedeny jsou plně není zdokumentované a pouze výňatků z výstupu jsou zobrazeny.

Obsah článku

  • Načítání ladicí program jádra
  • Kontrola času vytvoření! ovladače
  • Pomocí soubor Link.exe kontrolovat čas vytvoření
  • Unassembling funkce
  • Symboly Service Pack

Načítání ladicí program jádra

Normální zatížení ladicí program jádra zobrazuje následující výzvy:
kd > jednoprocesorovém systému

0: kd > víceprocesorového systému
Do řádku níže označuje, že soubor symbolů pro Soubor Ntoskrnl.exe je nesprávná. Zkontrolujte, zda vhodné počítač s více procesory nebo jednoprocesorový jadra a vrstvy HAL, jsou zkopírovány do stromu symbol.

Příklad:
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>				
Načtení souboru Memory.dmp jádra ladicí program jádra V prvních několika řádků se zobrazí verze, jakož i počet procesorů. Potvrďte, že počet procesorů odpovídá příslušné jádro a VRSTVY HAL. Ovladač symbol budou zobrazeny informace buď symboly jsou načteny nebo odloženo.

Vzorek zatížení:
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>				
Všimněte si, že byl ladicí program jádra "nelze přečíst záhlaví obrázku pro floppy.sys – na fc820000 - c0000001 stavu." Tato zpráva je běžné, protože v záhlaví konkrétní ovladač není aktuálně v paměti.

Kontrola času vytvoření! ovladače

Použít ! ovladače příkaz seznam ovladačů aktuálně načtených v paměti. Poznamenejte si kalendářní data a časy ovladače a zda může být načten. (Kód a velikost dat sloupce v následujícím příkladu jsou odstraněny do Přizpůsobit šířku tohoto článku.)
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>				
Poznámka: čas vytvoření souboru, což je datum souboru zkompilovat. Toto datum je blízko Date\Time razítko na skutečného souboru, když zobrazení Winnt\System32\Drivers podsložku pomocí programu Správce souborů.

Pokud přihlásit do sítě Microsoft vývojáři (MSDN) nebo systému Windows Zařízení Driver Kit (DDK), soubor Link.exe, nástroje lze potvrdit, že Dbg soubor je stejný soubor, který byl vytvořen v případě, že ovladač byl kompilován. "Čas datum, razítko"v níže uvedeném příkladu odpovídá"Vytvořit době"Netbios.sys v výše uvedený výstup.

Použít soubor Link.exe kontrola "čas datum razítkem" Dbg soubor:
ODKAZ - dump - \symbols\sys\netbios.dbg záhlaví
Microsoft (R) COFF binární soubor sklápěč verze 3.00.5270
Copyright (C) Microsoft Corp 1992-1995. Všechna práva vyhrazena.

Výpis z soubor Netbios.dbg
podpis 4944
příznaky 0
14 C machine (i386)
306 charakteristiky
2FAAE94F datum časového pá květen 05 23: 13: 19 1995
8D0B kontrolní součet bitové kopie

10 000 base obrazu

70A0 velikost obrazu
** Obsah odstraněn **

Pokud ! ovladače příkaz vytvoří všechny řádky, které vypadají jako následující důležité tabulky stavem systému je poškozen. Další analýza výpis stavu nemusí být možná.
Nelze přečíst DosHeader na 0583002a - stav 00000000
Nelze přečíst DosHeader na 0587002a - stav 00000000
Nelze přečíst DosHeader na 0588002a - stav 00000000
Nelze přečíst DosHeader na 058a002a - stav 00000000
Nelze přečíst DosHeader na 058c002a - stav 00000000

Unassembling funkce

Soubory symbolů povolit ladicí program jádra odkazu funkce a globální proměnné podle názvu. Přímá kontrola několika odpadu Přesvědčte se, zda že zobrazují správné funkce. Mnoho funkcí jsou optimalizována kompilátoru a neodpovídají nutně níže uvedených příkladech. Optimalizované kompilátoru funkce jsou označeny FPO v závorkách v názvu funkce.

Funkce obvykle začínají buď "push ebp" nebo "mov eax, FS [000000000]." Základní znalost jazyka počítače a zkušenosti umožní. jeden rozpoznat tyto funkce.
  • Seznam načtených modulů
    x *!
  • Symboly pro určitý modul (například seznam Ntoskrnl.exe).
    x nt! *
  • Vybrat funkci s unassemble-rozložit tedy není kompilátoru Optimalizované.
    u NT! _NtUnlockFile

Dobré symboly

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 funkce by se měla podobat text výše; unassembly je však změnit. Pokud vypadá unassembly řádné, budeme předpokládat, že symboly správně načtený pro tento modul.

Začíná následujícím unassembly "jnz NT! _NTUnlockFile + 0x22." Jasné, že na začátek funkce nespustí s instrukce skoku kód. Symbol stromu zkontrolujte ještě jednou.

Chybné symboly

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]				

Symboly Service Pack

Jsou časy, kdy je obtížné symboly, které se shodují konkrétní instalaci. V určitém okamžiku v čase služby by byly přidány kopírování souborů z disku CD-ROM instalace systému Windows zkopírovat požadované soubory, které byly aktualizovány s aktualizací service pack. Nezapomeňte znovu použít aktualizace Service pack a všechny třetí strany podporují disky po změně nastavení systému které kopíruje soubory z instalačního disku CD-ROM Windows. Symboly musí být použito ve stejném pořadí jako instalace.

DALŠÍ INFORMACE

Hledání jádra ladění jak řadu článků naleznete na klíčové slovo: debugref.

WinDbg 2.0.x Symbol techniky

Ladicí verze 2.0.x a větší společnosti Microsoft Ladicí programy tam jsou další symbol ověření kroky, které lze použít. Pro Další informace naleznete na následujícím webu společnosti Microsoft:
prodnt debugref ntblue

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 148660 - Poslední kontrola: 04/23/2011 11:04:00 - Revize: 7.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 KbMtcs
Váš názor
/html>&t=">error="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> p;t=">t=">