Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Ondersteuning voor Windows Vista Service Pack 1 (SP1) eindigt op 12 juli 2011. Als u wilt doorgaan met het ontvangen van beveiligingsupdates voor Windows, moet u Windows Vista met Service Pack 2 (SP2) geïnstalleerd hebben. Raadpleeg deze Microsoft-website voor meer informatie: ondersteuning voor sommige versies van Windows wordt beëindigd.

Samenvatting

De symbolen Windows na het starten van het foutopsporingsprogramma voor de kernel moeten worden gecontroleerd (I386kd.exe | WinDbg.exe). het foutopsporingsprogramma kan laden en een prompt te presenteren, maar als de symbolen onjuist zijn, toekomstige foutopsporing opdrachten niet verwijzen naar goede functies en variabelen, die leidt tot een enkel geval resultaten. Hieronder vindt u enkele rode vlaggen en een aantal methoden om de geldigheid van de controle van de symbolen.

Meer informatie

In dit artikel wordt ervan uitgegaan dat de kerneldebugger wordt uitgevoerd en een Memory.dmp-bestand is geladen of is verbonden met een externe computer. Opdrachten die niet volledig worden beschreven en alleen fragmenten uit de resultaten worden weergegeven.

Inhoud van het artikel

  • Het foutopsporingsprogramma voor de Kernel laden

  • Aanmaaktijd met controleren! stuurprogramma's

  • Met behulp van Link.exe gemaakt om te controleren

  • Een functie unassembling

  • Service Pack-symbolen

Het foutopsporingsprogramma voor de Kernel laden

Een normale belasting van de kerneldebugger geeft een van de volgende vragen:

Kd > Uniprocessor systeem 0: kd > multiprocessorsysteemDe onderstaande vraag geeft aan dat het bestand van het symbool voor het bestand Ntoskrnl.exe onjuist is. Controleren om ervoor te zorgen dat de juiste multiprocessor of uniprocessor-kernel en HAL zijn gekopieerd naar de structuur van het symbool. Voorbeeld: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> Als de kerneldebugger laadt het bestand Memory.dmp versie van de Kernel, evenals het aantal processors in de eerste paar regels wordt weergegeven. Zorg ervoor dat het aantal processors komt met de juiste kernel en HAL overeen. Informatie over stuurprogramma-symbool wordt weergegeven als beide symbolen worden geladen of uitgesteld. Monster belasting: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> Houd er rekening mee dat de kerneldebugger is 'Unable to header van de installatiekopie op fc820000 - status c0000001 voor Floppy.sys lezen'. Dit bericht is normaal, omdat de kop bepaald stuurprogramma zich niet in het geheugen.

Aanmaaktijd met controleren! stuurprogramma's

Gebruik de ! stuurprogramma's opdracht om een lijst van de stuurprogramma's die momenteel in het geheugen geladen. U nota van de datums en tijden van de stuurprogramma's en of deze geladen worden kunnen. (De kolommen Code formaat en de grootte van de gegevens in het volgende voorbeeld worden verwijderd om de breedte van het artikel).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> Let op het tijdstip van het bestand, is de datum waarop die het bestand wordt gecompileerd. Deze datum is dicht bij de Date\Time de tijdstempel van het bestand bij het bekijken van de Winnt\System32\Drivers-submap met Bestandsbeheer. Als u zich op Microsoft ontwikkelaars Network (MSDN abonneren) of Windows Device Driver Kit (DDK), kan het hulpprogramma Link.exe worden gebruikt om te bevestigen dat het bestand Dbg hetzelfde bestand dat is gemaakt tijdens het compileren van het stuurprogramma. De "tijd datumstempel' in het onderstaande voorbeeld komt overeen met de"maken tijd"van Netbios.sys in de bovenstaande uitvoer. Link.exe gebruiken om te controleren van de "tijd datumstempel" van het bestand Dbg:

KOPPELING - dump - headers \symbols\sys\netbios.dbgMicrosoft (R) COFF binair bestand Dumper versie 3.00.5270 Copyright (C) Microsoft Corp 1992-1995. Alle rechten voorbehouden. Dump van het bestand Netbios.dbg

4944 handtekening 0 vlaggen C 14 machine (i386) 306 kenmerken2FAAE94F datum tijdstempel vr mei 05 23:13:19 1995

8D0B-controlesom van 10000 basis afbeelding van 70A0 afbeeldingsgrootte van afbeelding** Verwijderde inhoud ** als de ! stuurprogramma's regels die door de volgende opdracht geeft een, een belangrijke tabel in de geheugendump is beschadigd. Nader onderzoek van de dump niet mogelijk.

Kan niet lezen van DosHeader bij 0583002a - status 00000000 kan niet lezen van DosHeader bij 0587002a - status 00000000 kan niet lezen van DosHeader bij 0588002a - status 00000000 kan niet lezen van DosHeader bij 058a002a - status 00000000 kan niet lezen van DosHeader bij 058c002a - status 00000000

Een functie unassembling

De symboolbestanden inschakelen functies en algemene variabelen op naam naar de kernel-foutopsporing. Ter plaatse controleren een paar gedemonteerde functies om ervoor te zorgen dat ze er goed uitzien. Veel functies zijn compiler geoptimaliseerd en niet noodzakelijkerwijs voldoen aan de onderstaande voorbeelden. Geoptimaliseerde compiler functies worden aangeduid met de FPO in naam van de functie haakjes. Functies beginnen doorgaans met een ebp' push' of 'mov eax, fs [000000000]'. Basiskennis van de taal van de computer en de ervaring wordt één herkennen deze functies inschakelen.

  • Lijst met geladen modules x *!

  • Lijst met symbolen voor een bepaalde module (bijvoorbeeld Ntoskrnl.exe). x-nt! *

  • Selecteer een functie aan unassemble is geen compiler geoptimaliseerd. u NT! _NtUnlockFile

Goede symbolen

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> 

De unassembly van de functie moet er uitzien op de tekst hierboven; de unassembly kan echter worden gewijzigd. Als de unassembly er goed uitziet, kunt u ervan uitgaan dat de symbolen voor deze module juist hebt geladen. De volgende unassembly begint met ' jnz NT! _NTUnlockFile + 0x22. " Het begin van een functie zou natuurlijk niet beginnen met een code voor sprong. Controleer nogmaals de structuur van het symbool.

Ongeldige symbolen

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-symbolen

Er zijn soms is het moeilijk om te voldoen aan de symbolen met een specifieke installatie. Op een bepaald moment in de tijd, kan een service zijn toegevoegd die nodig kopiëren van bestanden van de Windows-installatie-cd, die over de bestanden die zijn bijgewerkt met een servicepack worden gekopieerd. Zorg ervoor dat het servicepack en de ondersteuning voor externe schijven na het wijzigen van systeeminstellingen waarmee bestanden worden gekopieerd van de CD-ROM met Windows-installatie opnieuw. De symbolen moeten in dezelfde volgorde als de installatie worden toegepast.

ALS U MEER INFORMATIE

Zoeken op het trefwoord om de reeks Kernel Debug How To artikelen: debugref. WinDbg 2.0.x symbool technieken In de debugger versie 2.0.x en hoger van de Microsoft Debuggers aanvullende symbool verificatie stappen die kunnen worden gebruikt. Raadpleeg voor meer informatie naar de volgende Microsoft-website:

Stuurprogramma's Development Kit

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×