Salt la conținutul principal
Asistență
Conectare

Cum se verifică simboluri de depanare Windows

Lucrați de oriunde de pe orice dispozitiv cu Microsoft 365

Faceți upgrade la Microsoft 365 pentru a lucra oriunde cu cele mai recente caracteristici și actualizări.

Faceți upgrade acum

Suportul pentru Windows Vista Service Pack 1 (SP1) se încheie la 12 iulie 2011. Pentru a continua să primiţi actualizări de securitate pentru Windows, asiguraţi-vă că rulaţi Windows Vista cu Service Pack 2 (SP2). Pentru mai multe informații, consultați această pagină web Microsoft: suportul se încheie pentru anumite versiuni de Windows.

Rezumat

Simboluri de depanare Windows trebuie verificată după pornirea depanatorul kernel (I386kd.exe | WinDbg.exe). poate încărca și prezintă o linie de depanare, dar dacă simbolurile sunt incorecte, comenzi viitoare de depanare nu referință corespunzătoare funcții și variabile, care conduce la rezultate sporadic. Mai jos sunt câteva roșu semnalizările și câteva metode de valabilitate locului de simboluri.

Mai multe informații

Acest articol presupune că depanatorul kernel se execută și s-a încărcat un fișier Memory.dmp sau este conectat la un computer la distanţă. Comenzile prezentate nu sunt documentate complet și se afișează numai fragmente de ieșire.

Articolul conține

  • Se încarcă depanatorul Kernel

  • Crearea de timp cu verificarea! drivere

  • Utilizarea Link.exe la momentul creării de selectare

  • Unassembling o funcție

  • Simboluri de Service Pack

Se încarcă depanatorul Kernel

O sarcină normală de depanatorul kernel afișează unul dintre solicitările următoarele:

KD > Uniprocessor sistem 0: kd > sistem multiprocesorLinie de mai jos indică faptul că fișierul de simboluri pentru fișierul Ntoskrnl.exe este incorectă. Verificați pentru a vă asigura că corespunzător kernel multiprocessor sau uniprocessor și HAL sunt copiate în arborele de simboluri. Exemplu: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> Atunci când se încarcă depanatorul kernel fișier Memory.dmp, versiunea Kernel, precum și numărul de procesor se afișează în primele câteva linii. Confirmați că numărul de procesor corespunde cu nucleu potrivit și HAL. Simbol informații se afișează în oricare dintre simbolurile sunt încărcate sau amânată. Mostră de încărcare: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> Rețineți că depanatorul kernel a fost "Imposibil de citit imagine antet pentru Floppy.sys la fc820000 - stare c0000001." Acest mesaj este normal deoarece antetul anumit driver nu este în prezent în memorie.

Crearea de timp cu verificarea! drivere

Utilizarea ! drivere pentru a lista în prezent driverele încărcate în memorie. Face Notă datele şi orele de drivere şi sau nu ar putea fi încărcat. (Coloanele cod dimensiunea și Data dimensiunea în exemplul următor sunt eliminate pentru a se potrivi lățimea articolul).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> Notați timp de creare a fișierului, care este data fișierul este compilat. Această dată este aproape marca Date\Time de fișier real la vizualizarea subfolderul Winnt\System32\Drivers folosind File Manager. Dacă vă abonați-vă pentru dezvoltatori Microsoft Network (MSDN) sau care au Windows Device Driver Kit (DDK), instrumentul Link.exe poate fi utilizat pentru a confirma că fișierul Dbg este același fișier care a fost creat când s-a compilat driverul. "Marca de timp data" în exemplul de mai jos se potrivește "Creați timpul" Netbios.sys în rezultatele de mai sus. Utilizați Link.exe pentru a verifica "marca de timp data" fișierului Dbg:

LEGAȚI - dump - anteturile \symbols\sys\netbios.dbgMicrosoft (R) COFF fișier binar Dumper versiunea 3.00.5270 Copyright (C) Microsoft Corp 1992-1995. Toate drepturile rezervate. Imagine de fișier Netbios.dbg

semnătură 4944 0 semnalizează 14C machine (i386) 306 caracteristici2FAAE94F temporal data Fri May 05 23:13:19 1995

8D0B sumă de verificare a imaginii 10000 bază de imagine 70A0 dimensiunea** Conţinutul şterse ** dacă ! drivere comandă produce toate liniile care arăta astfel, un tabel importante în imagine este deteriorat. Analize suplimentare de memorie nu este posibilă.

Imposibil de citit DosHeader la 0583002a - stare 00000000 imposibil de citit DosHeader la 0587002a - stare 00000000 imposibil de citit DosHeader la 0588002a - stare 00000000 imposibil de citit DosHeader la 058a002a - stare 00000000 imposibil de citit DosHeader la 058c002a - stare 00000000

Unassembling o funcție

Fișierele simbol permite depanatorului kernel să referinţă funcții și variabile globale de nume. Locul verifica o serie de funcții neasamblate să vă asigurați că acestea arată corespunzătoare. Mai multe funcţii sunt compilator optimizate și nu înseamnă neapărat se conformează exemplele de mai jos. Compilator optimizate funcții sunt identificate de FPO în paranteze în numele funcţiei. Funcții în mod normal, începe cu oricare dintre "ebp de tip push" sau "eax mov, fs [000000000]." Bază de cunoștințe de maşină limba și experiența va activa una pentru a recunoaște acestor funcții.

  • Listează modulele încărcate x *!

  • Lista de simboluri pentru un anumit modul (de exemplu, Ntoskrnl.exe). x nt! *

  • Selectați o funcție pentru care este unassemble nu compilator optimizate. u NT! _NtUnlockFile

Bun simboluri

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 de funcția trebuie să arate asemănător cu textul de mai sus; cu toate acestea, unassembly se pot modifica. Dacă unassembly Arată corespunzătoare, puteți să presupunem că simbolurile încărcat în mod corespunzător pentru acest modul. Unassembly următoarele începe cu "jnz NT! _NTUnlockFile + 0x22." În mod evident, începutul o funcție nu începe cu un cod de acces de instruire. Verificați din nou arborele de simboluri.

Simboluri defecte

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] 

Simboluri de Service Pack

Există ori atunci când este dificil pentru a se potrivi simbolurile cu o anumită instalare. La un moment dat, un serviciu ar putea au fost adăugate care necesare copierea fișierelor de instalare CD-ROM-ul Windows, care copiază peste fișierele care au fost actualizate cu un pachet service pack. Asigurați-vă că aplicați din nou pachetul service pack și orice terț suport discuri după modificarea configurării sistemului, care copiază fișierele de pe CD-ROM-ul de instalare Windows. Simbolurile se aplică în aceeași ordine ca instalarea.

INFORMAȚII SUPLIMENTARE

Pentru a găsi Kernel de depanare pentru seria de articole, căutați pe cuvinte cheie: debugref. WinDbg 2.0.x simbol tehnici În depanator versiune 2.0.x și mai mare de Debuggers Microsoft sunt pași de verificare simbol suplimentare care pot fi utilizate. Pentru mai multe informații, consultați la următorul site Web Microsoft:

Kit de dezvoltare drivere

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×