Technickej podpory pre systém Windows Vista Service Pack 1 (SP1) končí 12. júla 2011. Ak chcete naďalej získavať aktualizácie zabezpečenia pre systém Windows, uistite sa, že používate systém Windows Vista Service Pack 2 (SP2). Ďalšie informácie nájdete na nasledujúcej webovej stránke spoločnosti Microsoft: končí sa podpora pre niektoré verzie systému Windows.

Súhrn

Po spustení ladenie jadra sa musí overiť Windows ladiace symboly (I386kd.exe | WinDbg.exe). ladiaci môže načítať a predstavujú výzvu, ale ak symboly sú nesprávne, budúce ladenie príkazy nie odkaz správne funkcie a premenných, ktoré vedie k sporadické výsledky. Uvádzame niekoľko výstražné a niekoľko metód kontroly platnosti symboly.

Ďalšie informácie

Tento článok predpokladá, že nástroj na ladenie jadra systémom a načítaní súboru Memory.dmp pripojený na vzdialený počítač. Príkazy uvedené nie sú plne zdokumentované a zobrazujú sa iba ukážky z výstupu.

Obsah článku

  • Načítanie nástroj na ladenie jadra

  • Kontrola čas vytvorenia s! ovládačov

  • Používanie Link.exe skontrolovať čas vytvorenia

  • Unassembling funkcia

  • Service Pack symbolov

Načítanie nástroj na ladenie jadra

Normálne zaťaženie nástroj na ladenie jadra zobrazí jedno z nasledujúcich pokynov:

KD > Uniprocessor systém 0: kd > systéme s viacerými procesormiPríkazový riadok nižšie uvedené naznačuje, že súbore symbolom pre súbor Ntoskrnl.exe je nesprávna. Skontrolujte, uistite sa, že vhodné multiprocessor alebo uniprocessor jadra a HAL sa skopírujú do stromu symbolom. Prí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> Keď nástroj na ladenie jadra načíta súbor Memory.dmp, jadro verzie, ako aj procesor sa zobrazí niekoľko prvých riadkov. Potvrďte, že procesor počítať zodpovedá vhodné jadra a HAL. Informácie ovládača symbolu sa zobrazí ako buď symboly sú načítané alebo odložené. Vzorky zaťaženie: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šimnite si, že nástroj na ladenie jadra bol "Sa nedá čítať obrázok záhlavie pre Floppy.sys na fc820000 - stav c0000001." Toto hlásenie je normálne, pretože v hlavičke konkrétny ovládač nie je v pamäti.

Kontrola čas vytvorenia s! ovládačov

Použitie ! ovládače príkaz do zoznamu ovládačov aktuálne načítané v pamäti. Uistite sa, poznačte si dátumy a časy ovládače a či nebolo možné načítať. (Stĺpce veľkosti kódu a veľkosť údajov v nasledujúcom príklade sú odstránené šírke č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> Všimnite si čas vytvorenia súboru, ktorý je dátum súboru je zostavená. Tento dátum je blízko k Date\Time pečiatkou na skutočný súbor keď prezeranie Winnt\System32\Drivers podpriečinok s použitím Správca súborov. Ak ste sa prihlásiť na vývojárov spoločnosti Microsoft (MSDN) alebo Windows Device Driver Kit (DDK), Link.exe nástroj možno potvrdiť, že Dbg súbor je rovnaký súbor, ktorý bol vytvorený, keď ovládač bola spracovaná. "Čas dátum pečiatky" v príklade zodpovedá "Vytvoriť čas" Netbios.sys v výstup vyššie. Použitie Link.exe skontrolovať "čas dňa pečiatkou" Dbg súbor:

PREPOJENIE - výpis - \symbols\sys\netbios.dbg hlavičkyMicrosoft (R) COFF binárny súbor Dumper verzia 3.00.5270 Copyright (C) Microsoft Corp 1992-1995. Všetky práva vyhradené. Výpis súboru Netbios.dbg

4944 podpis 0 označí 306 vlastnosti 14C stroj (i386)2FAAE94F čas dátum pečiatky Fri môže 05 23:13:19 1995

8D0B kontrolný súčet obrazu 10000 základná 70A0 veľkosť obrázka** Obsah odstránené ** Ak ! ovládače príkaz vytvorí všetky riadky, ktoré vyzerá takto, dôležité v výpisu je poškodený. Ďalšia analýza výpisu nedá.

Nedá sa čítať DosHeader na 0583002a - stav 00000000 nedá sa čítať DosHeader na 0587002a - stav 00000000 nedá sa čítať DosHeader na 0588002a - stav 00000000 nedá sa čítať DosHeader na 058a002a - stav 00000000 nedá sa čítať DosHeader na 058c002a - stav 00000000

Unassembling funkcia

Symbol súbory zapnúť nástroj na ladenie jadra odkaz funkcie a globálne premenné podľa názvu. Okamžitej kontrole pár nezmontované funkcie, uistite sa, že vyzerajú správne. Mnoho funkcií sú kompilátor optimalizované a nezodpovedajú nevyhnutne nižšie. Kompilátor optimalizované funkcie sú identifikované francúzskej Polynézie v zátvorkách v názov funkcie. Funkcie bežne začínať buď "push ebp" alebo "mov eax, fs [000000000]." Základné znalosti stroj jazyka a skúsenosti umožnia jeden rozpoznať tieto funkcie.

  • Zoznam načítaných modulov x *!

  • Zoznam symbolov pre určitý modul (napríklad Ntoskrnl.exe). x nt! *

  • Vyberte funkciu unassemble teda nie kompilátor optimalizované. u NT! _NtUnlockFile

Vhodné 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 funkcie by vyzerala v texte vyššie. unassembly však meniť. Ak unassembly správne, môžete Predpokladajme, že symboly správne načítali tohto modulu. Tieto unassembly začína "jnz NT! _NTUnlockFile + 0x22." Samozrejme, na začiatku funkcie sa nespustí odkazov inštrukcia kód. Opäť skontrolujte stromu symbolom.

Chybné symbolov

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] 

Service Pack symbolov

Existujú časy, kedy je ťažké zodpovedať symboly konkrétnu inštaláciu. V určitom čase, služby by boli pridané sa vyžaduje kopírovanie súborov z disku CD-ROM inštalácie systému Windows, ktorý skopíruje súbory, ktoré boli aktualizované balíkov service pack. Uistite sa, že znova service pack a všetky disky podpory tretej strany po zmene systému, ktorá kopíruje súbory z disku CD-ROM systému Windows Inštalácia. Symboly sa použijú v rovnakom poradí ako inštalácie.

ĎALŠIE INFORMÁCIE

Jadro ladenia how sériu článkov vyhľadajte kľúčové slovo: debugref. WinDbg 2.0.x Symbol techniky Ladenie verzia 2.0.x a viac Microsoft Debuggers dodatočný symbol overovanie kroky, ktoré môžete použiť. Ďalšie informácie nájdete na webovej lokalite spoločnosti Microsoft:

Ovládače Development Kit

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?

Ďakujeme za vaše pripomienky!

×