Kom igång med Windows-felsökning
Den här artikeln beskriver hur du kommer igång med felsökning för Windows. Om målet är att använda felsökningsprogrammet för att analysera en kraschdump kan du läsa Analysera kraschdumpfiler med hjälp av WinDbg.
Slutför följande steg för att komma igång med Windows-felsökning.
1. Installera Windows-felsökningsprogrammet
Information om hur du installerar WinDbg finns i Installera WinDbg.
2. Identifiera värd- och målsystemen
Två separata datorsystem används vanligtvis för felsökning eftersom instruktionskörning på processorn ofta pausas under processen. Felsökningsprogrammet körs på värd system och koden som du vill felsöka körs på mål systemet.
Värd <--------------------------------------------------> Mål
I vissa situationer är det möjligt att använda en virtuell dator som det andra systemet. En virtuell dator kan till exempel köras på samma dator som den kod som du behöver felsöka. Men om koden kommunicerar med maskinvara på låg nivå kanske det inte är den bästa metoden att använda en virtuell dator. Mer information finns i Konfigurera nätverksfelsökning för en virtuell dator – KDNET.
3. Fastställ felsökningstypen: kernelläge eller användarläge
Därefter måste du avgöra om du vill använda felsökning i kernelläge eller användarläge.
Operativsystemet och privilegierade program körs i kernelläge. Kernel-lägeskod har behörighet att komma åt någon del av systemet och den är inte begränsad som kod i användarläge. Kernel-lägeskod kan få åtkomst till alla delar av andra processer som körs i användarläge eller kernelläge. Mycket av kärnfunktionerna i operativsystemet och många drivrutiner för maskinvaruenheter körs i kernelläge.
Program och undersystem på datorn körs i användarläge. Processer som körs i användarläge gör det i sina egna virtuella adressutrymmen. De är begränsade från att få direkt åtkomst till många delar av systemet, inklusive systemmaskinvara, minne som inte allokeras för deras användning och andra delar av systemet som kan äventyra systemets integritet. Processer som körs i användarläge isoleras effektivt från systemet och från andra processer i användarläge, så att de inte kan störa dessa resurser.
Om målet är att felsöka en drivrutin ska du avgöra om drivrutinen är en drivrutin i kernelläge eller en drivrutin i användarläge. Drivrutiner för Windows Driver Model (WDM) och Kernel-Mode Driver Framework (KMDF) är båda drivrutiner i kernelläge. Som namnet antyder är User-Mode Driver Framework-drivrutiner (UMDF) drivrutiner i användarläge.
För vissa problem kan det vara svårt att avgöra vilket läge koden körs i. I så fall kan du behöva välja ett läge och se vilken information som är tillgänglig i det läget. Vissa problem kräver att du använder felsökningsprogrammet i både användarläge och kernelläge.
Beroende på vilket läge du felsöker i kan du behöva konfigurera och använda felsökarna på olika sätt. Vissa felsökningskommandon fungerar likadant i båda lägena, och vissa kommandon fungerar annorlunda.
Läs mer om hur du använder felsökningsprogrammet i kernelläge:
- Kom igång med WinDbg (kernelläge)
- Felsöka universella drivrutiner: steg för steg-labb (ekokärnläge)
- Drivrutiner för felsökning: steg-för-steg-labb (Sysvad-kärnläge)
Läs mer om hur du använder felsökningsprogrammet i användarläge:
4. Välj felsökningsmiljön
WinDbg-felsökningsprogrammet fungerar bra i de flesta situationer, men det finns tillfällen då du kanske vill använda ett annat felsökningsprogram, till exempel konsolfelsökare för automatisering eller Visual Studio. Mer information finns i Felsökningsmiljöer.
5. Bestäm hur målet och värden ska anslutas
Mål- och värdsystem är vanligtvis anslutna via ett Ethernet-nätverk. Om du utför inledande driftsättning, eller om du inte har en Ethernet-anslutning på en enhet, finns det andra alternativ för nätverksanslutning. Mer information finns i följande artiklar:
- Konfigurera KDNET-nätverkskärnfelsökning automatiskt
- Konfigurera nätverksfelsökning för en virtuell dator – KDNET-
6. Välj antingen 32-bitars eller 64-bitars felsökningsverktyg
Om du behöver ett 32-bitars eller 64-bitars felsökningsprogram beror på vilken version av Windows som körs på mål- och värdsystemen och om du felsöker 32- eller 64-bitarskod. Mer information finns i Välja 32-bitars eller 64-bitars felsökningsverktyg.
7. Konfigurera symboler
Om du vill använda alla avancerade funktioner som WinDbg tillhandahåller måste du läsa in rätt symboler. Om du inte har symboler korrekt konfigurerade får du meddelanden som anger att symboler inte är tillgängliga när du försöker använda funktioner som är beroende av symboler. Mer information finns i Symboler för Windows-felsökning.
8. Konfigurera källkod
Om målet är att felsöka din egen källkod måste du konfigurera en sökväg till källkoden. Mer information finns i Källsökväg.
9. Lär känna debuggens funktion
I avsnittet om användning av felsökaren i den här dokumentationen beskrivs hur felsökaren används för olika uppgifter. Till exempel beskriver Att behålla en loggfil i WinDbg hur WinDbg kan skriva en loggfil som registrerar felsökningssessionen.
10. Bekanta dig med felsökningstekniker
Standard-felsökningstekniker tillämpas på de flesta felsökningsscenarier, och exempel är att ange brytpunkter, inspektera anropsstacken och hitta en minnesläcka. Specialiserade felsökningstekniker gäller för vissa tekniker eller typer av kod. Exempel är Plug and Play-felsökning, KMDF-felsökning och RPC-felsökning.
11. Använd felsökningsreferenskommandona
Du kan använda olika felsökningskommandon när du arbetar i felsökningsprogrammet. Använd kommandot .hh i felsökningsprogrammet för att visa användbar information om eventuella felsökningskommandon. Mer information om tillgängliga kommandon finns i felsökningsreferens.
12. Använd felsökningstillägg för specifika tekniker
Det finns flera felsökningstillägg som kan användas för att parsa domänspecifika datastrukturer. Mer information finns i Specialiserade tillägg. Inläsning av DLL:er för felsökningstillägg förklarar hur man läser in felsökningstillägg.
13. Lär dig mer om relaterade interna Windows-objekt
Den här dokumentationen förutsätter att du har viss kunskap om grundläggande interna Windows-enheter. Om du vill veta mer om internt Windows, inklusive minnesanvändning, kontext, trådar och processer, kan du granska resurser som Windows Internals av Pavel Yosifovich, Mark E. Russinovich, David A. Solomon och Alex Ionescu.
14. Granska ytterligare felsökningsresurser
Andra resurser är följande böcker och videor:
- Inifrån Windows-felsökning: Praktiska felsöknings- och spårningsstrategier av Tarik Soulami
- Avancerad Windows-felsökning av Mario Hewardt och Daniel Pravat
- Defrag Tools videoserie, avsnitt 13 till 29, allt om WinDbg
Se även
- Kom igång med WinDbg (kernelläge)
- Kom igång med WinDbg (användarläge)
- Välj 32-bitars eller 64-bitars felsökningsverktyg
- felsökningsmiljöer
- Konfigurera felsökning (kernelläge och användarläge)
- Felsöka universella drivrutiner – steg för steg-labb (ekokärnläge)
- Debuggerdrivrutiner – steg-för-steg-labb (Sysvad kernel-läge)