Atbalstu sistēmai Windows Vista Service Pack 1 (SP1) beidzas 2011. gada 12. jūlijā. Lai turpinātu saņemt sistēmas Windows drošības atjauninājumus, pārliecinieties, vai datorā darbojas sistēma Windows Vista ar 2. servisa pakotni (SP2). Lai iegūtu papildinformāciju, skatiet šajā Microsoft web lapā: dažām Windows versijām tiek pārtraukts atbalsts.
Kopsavilkums
Windows atkļūdošanas simbolu jāpārbauda pēc sākuma kodola atkļūdotājs (I386kd.exe | WinDbg.exe). atkļūdotājs var ielādēt un rādīt uzvedni, bet simboli nav pareizi, ja turpmāk atkļūdošanas komandas nevar norādīt pareizu funkcijas un mainīgos, kas izraisa neregulāri rezultātus. Tālāk uzskaitītas dažas red flags un dažas metodes simbolu derīguma pārbaudi.
Papildinformācija
Šajā rakstā tiek pieņemts, kodola atkļūdotājs darbojas dMP failu ielādes un ir savienota ar attālo datoru. Komandas uzrāda pilnībā netika dokumentētas un tiek parādīti tikai fragmenti no rezultāta.
Raksta saturs
-
Ielādējot kodola atkļūdotājs
-
Pārbaudot ar laika! draiveri
-
Izmantojot Link.exe pārbaudīt izveides laiks
-
Unassembling funkcija
-
Servisa pakotnes simboli
Ielādējot kodola atkļūdotājs
Parastā slodze kodola atkļūdotājs parāda vienu no šīm norādēm:
KD > Uniprocessor sistēmas 0: kd > vairākprocesoru sistēmaZemāk parādītajā uzvednē norāda simbolu failu Ntoskrnl.exe failam nav pareiza. Pārbaudiet, vai atbilstošo vairākprocesoru vai uniprocessor kodols un HAL tiek iekopēti koku simbolu. Piemērs: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> Pirmais dažas rindiņas tiek parādīts, kad kodola atkļūdotājs ielādē dMP failu, kodola versiju, kā arī procesoru skaitu. Apstipriniet procesoru skaitu atbilst attiecīgā kodols un HAL. Draivera simbolu informācija tiek rādīta vai nu simboli tiek ielādēta vai atlikt. Parauga slodzes: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> Ņemiet vērā, ka kodola atkļūdotājs bija "Nevar lasīt attēla galvenē Floppy.sys pie fc820000 - c0000001 statuss." Šajā ziņojumā parasti, jo īpaši draiveri galvenes pašlaik nav atmiņas.
Pārbaudot ar laika! draiveri
Izmantojiet ! draiveri komandu sarakstu draiverus pašlaik ielādēta atmiņā. Pārliecinieties, ņemiet vērā datumi un laiki draiverus un vai tās ir ielādēts. (Šajā piemērā kolonnas kods lielumu un datu lielumu noņemt atbilstoši platumam rakstu)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> Pierakstiet faila, fails tiek apkopoti datums izveides laikā. Šis datums ir gandrīz Date\Time spiedols uz faktisko failu skatot Winnt\System32\Drivers apakšmapi, izmantojot failu pārvaldnieku. Ja abonēt Microsoft izstrādātāju tīkla (MSDN) vai Windows ierīču draiveru komplekta (DDK), Link.exe rīku var izmantot, lai apstiprinātu, ka failā Dbg to pašu failu, kas tika izveidots, instalējot draiveri tika izveidots. "Datums laikspiedols" šajā piemērā izvadē iepriekš atbilst "Izveidot laikā" Netbios.sys. Izmantojiet Link.exe, lai pārbaudītu "datums laikspiedols" Dbg failu:
SAITES - dump - galvenes \symbols\sys\netbios.dbgMicrosoft (R) COFF binārais fails Dumper versija 3.00.5270 autortiesības (C) Microsoft Corp 1992-1995. Visas tiesības paturētas. Izmetes failu Netbios.dbg
4944 paraksta 0 karodziņi 14C mašīnu (i386) 306 īpašības2FAAE94F datums laikspiedols Piektdiena maijs 05 23:13:19 1995
8D0B kontrolsumma attēla 10000 pamata attēla 70A0 lieluma attēls* * Dzēsts saturs * * ja ! draiveri komanda parāda visas rindas, kurās izskatīties šādi, svarīgi izmetes tabulā ir bojāts. Papildu analīzes izmetes var nebūt iespējams.
Nevar lasīt DosHeader 0583002a - statusa 00000000 nevarēs lasīt DosHeader 0587002a - statusa 00000000 nevarēs lasīt DosHeader 0588002a - statusa 00000000 nevarēs lasīt DosHeader 058a002a - statusa 00000000 nevarēs lasīt DosHeader 058c002a - statuss 00000000
Unassembling funkcija
Kodola atkļūdotājs var atsaukties funkcijas un globālo mainīgo ar nosaukumu iespējot simbolu failus. Vietas izvēles pāris nekomplektēti funkciju, lai pārliecinātos, vai tie būtu pareizi. Kompilatora optimizēts un vienmēr neatbilst piemēros ir daudz funkcijas. Optimizēta kompilatora funkcijas ir apzīmēti ar FPO iekavās funkcijas nosaukums. Funkcijas parasti sākas ar vai nu "stumšanas ebp" vai "mov eax fs [000000000]." Pamata zināšanām par datora valodas un ļaus viens atpazīt šīs funkcijas.
-
Ielādēto moduļu sarakstā x *!
-
Sarakstā konkrētu moduli (piemēram, Ntoskrnl.exe) simbolus. x nt! *
-
Atlasiet funkciju unassemble proti nav optimizēta kompilators. u NT! _NtUnlockFile
Labas simboli
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>
Funkcija unassembly jāizskatās līdzīgi tekstā; Tomēr unassembly var tikt mainīti. Ja unassembly izskatās pareizi, var pieņemt simboli ir ielādēti pareizi šim modulim. Šo unassembly sākas ar "jnz NT! _NTUnlockFile + 0x22." Protams, sākumā funkcija nevar startēt saīšņu instrukcijas kods. Vēlreiz pārbaudiet simbolu koku.
Slikta simboli
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]
Servisa pakotnes simboli
Ir reizes, kad ir grūti atbilst simboliem īpaši instalācijā. Kādā brīdī, pakalpojums nevarēja pievienoti, nepieciešams kopēt failus no sistēmas Windows instalācijas kompaktdisku, kopēt pār failus, kas tika atjaunināts ar servisa pakotni. Pārliecinieties, vai atkārtoti servisa pakotni un visus trešo pušu atbalsta diskus pēc sistēmas uzstādīšanas, kas kopē failus no sistēmas Windows instalācijas kompaktdisku. Simbolu jāpiemēro tādā pašā secībā, kādā instalēšanu.
PAPILDINFORMĀCIJA
Lai atrastu rakstus Kernel Debug kā ar sērijas, meklēšanas atslēgvārdu: debugref. WinDbg 2.0 simbolu metodes Atkļūdotāja versija 2.0 un jaunākas par Microsoft Debuggers ir papildu simbolu pārbaudes darbības, kuras var izmantot. Lai iegūtu papildinformāciju, skatiet šo Microsoft Web vietu: