Dela via


Använda felsökningskommandon

Detta beskriver användningen av felsökningskommandon. WinDbg är ett felsökningsprogram som kan användas för att analysera kraschdumpar, felsöka live-användarläge och kernellägeskod och undersöka CPU-register och minne. Mer information finns i Översikt över WinDbg.

Information om hur du installerar felsökningsprogrammet finns i Installera Windows-felsökningsprogrammet.

Information om hur du kommer igång med WinDbg finns i Komma igång med Windows-felsökning.

Kommandofönster för WinDbg-felsökningsprogram

För WinDbg refererar "Felsökningskommandofönster" till fönstret som är märkt "Kommando" i namnlisten. Det här fönstret innehåller två fönster:

  • I det lilla nedre fönstret anger du kommandon.

  • I det stora, övre fönstret visar du kommandoutdata.

Det här fönstret är alltid öppet i början av en felsökningssession. Du kan öppna eller växla till det här fönstret genom att välja Kommando på menyn Visa , trycka på ALT+1 eller välja knappen Kommando (Alt+1) (Skärmbild av kommandofönstret för felsökningsprogrammet.

Du kan använda tangenterna UPPÅTPIL och NEDÅTPIL för att bläddra igenom kommandohistoriken. När ett tidigare kommando visas kan du redigera det och sedan trycka på RETUR för att köra föregående kommando (eller den redigerade versionen av föregående kommando). Markören behöver inte vara i slutet av raden för att den här proceduren ska fungera korrekt.

KD eller CDB

För KD eller CDB refererar "Felsökningskommandofönster" till hela fönstret. Du anger kommandon vid prompten längst ned i fönstret. Om kommandona har några utdata visar fönstret utdata och visar sedan kommandotolken igen.

Kommandotolken för felsökningsprogrammet

När du utför felsökning i användarläge ser prompten i fönstret för felsökningskommandon ut enligt följande exempel.

2:005>

I föregående exempel är 2 det aktuella processnumret och 005 är det aktuella trådnumret.

Om du kopplar felsökningsprogrammet till fler än en dator inkluderas systemnumret före processen och trådnumret, som i följande exempel.

3:2:005>

I det här exemplet är 3 det aktuella systemnumret, 2 är det aktuella processnumret och 005 är det aktuella trådnumret.

När du utför felsökning i kernelläge på en måldator som bara har en processor ser uppmaningen ut som i följande exempel.

kd>

Men om måldatorn har flera processorer visas antalet aktuella processorer före uppmaningen, som i följande exempel.

0: kd>

Om felsökningsprogrammet är upptaget med att bearbeta ett tidigare utfärdat kommando bearbetas inte nya kommandon tillfälligt, även om de kan läggas till i kommandobufferten. Dessutom kan du fortfarande använda kontrollnycklar i KD och CDB, och du kan fortfarande använda menykommandon och genvägsnycklar i WinDbg. När KD eller CDB är i det här upptagna tillståndet visas ingen uppmaning. När WinDbg är i det här upptagna tillståndet visas följande indikator i stället för prompten:

*BUSY*

Du kan använda kommandot .pcmd (Ange kommandotolk) för att lägga till text i den här prompten.

Typer av kommandon

WinDbg, KD och CDB stöder en mängd olika kommandon. Vissa kommandon delas mellan felsökarna, och vissa är bara tillgängliga på en eller två av felsökarna.

Vissa kommandon är endast tillgängliga i direkt felsökning och andra kommandon är endast tillgängliga när du felsöker en dumpfil.

Vissa kommandon är endast tillgängliga under felsökning i användarläge och andra kommandon är endast tillgängliga vid felsökning i kernelläge.

Vissa kommandon är endast tillgängliga när målet körs på vissa processorer. Mer information om alla kommandon och deras begränsningar finns i Felsökningskommandon.

Redigera, upprepa och avbryta kommandon

Du kan använda standardredigeringsnycklar när du anger ett kommando:

  • Använd uppåtpilen och nedåtpilen för att hitta tidigare kommandon.

  • Redigera det aktuella kommandot med tangenterna BACKSPACE, DELETE, INSERT och LEFT ARROW och RIGHT ARROW.

  • Tryck på ESC-tangenten för att rensa den aktuella raden.

Du kan trycka på TAB-tangenten för att automatiskt slutföra textposten. I något av felsökarna trycker du på TABB-tangenten när du har angett minst ett tecken för att automatiskt slutföra ett kommando. Tryck på TABB-tangenten upprepade gånger för att bläddra igenom alternativen för textkomplettering och håll ned SKIFT-tangenten och tryck på TABB för att växla bakåt. Du kan också använda jokertecken i texten och trycka på TABB för att expandera till den fullständiga uppsättningen med alternativ för textkomplettering. Om du till exempel skriver fo*!ba och sedan trycker på TABB expanderar felsökningsprogrammet till uppsättningen med alla symboler som börjar med "ba" i alla moduler med modulnamn som börjar med "fo". Som ett annat exempel kan du slutföra alla tilläggskommandon som har "prcb" i dem genom att skriva !*prcb och sedan trycka på TABB.

Om textfragmentet börjar med en punkt (.) matchas texten med ett punktkommando när du använder TAB-tangenten för att slutföra texten. Om textfragmentet börjar med ett utropstecken (!) matchas texten med ett tilläggskommando. Annars matchas texten med en symbol. När du använder TAB-tangenten för att ange symboler slutför du koden och typsymbolerna och modulnamnen genom att trycka på TABB-tangenten. Om inget modulnamn visas slutförs lokala symboler och modulnamn. Om en modul eller ett modulmönster anges, kompletterar symbolkomplettering koden och typer av symboler från alla matchningar.

Du kan välja och hålla ner (eller högerklicka) i Kommando-fönstret i Debuggern för att automatiskt klistra in innehållet i urklipp i kommandot som du skriver.

Den maximala kommandolängden är 4 096 tecken. Men om du styr felsökaren i användarläge från kernelfelsökaren är den maximala radlängden 512 tecken.

I CDB och KD trycker du på RETUR-tangenten själv för att upprepa föregående kommando. I WinDbg kan du aktivera eller inaktivera det här beteendet. Mer information om det här beteendet finns i RETUR (Upprepa senaste kommando).

Om det senaste kommandot som du utfärdade visar en lång skärm och du vill stänga av den använder du CTRL+C-tangenten i CDB eller KD. I WinDbg använder du Felsökning | Bryt eller tryck på CTRL+BREAK.

I kernellägesfelsökning kan du avbryta kommandon från måldatorns tangentbord genom att trycka på CTRL+C.

Du kan använda kommandot .cls (Clear Screen) för att rensa all text från felsökningskommandofönstret. Det här kommandot rensar hela kommandohistoriken. I WinDbg kan du rensa kommandohistoriken med hjälp av Redigera | Ta bort kommandot Utdata för kommando eller genom att välja Rensa kommandoutdata på snabbmenyn i felsökningskommandofönstret.

Uttryckssyntax

Många kommandon och tilläggskommandon accepterar uttryck som argument. Felsökningsprogrammet utvärderar dessa uttryck innan kommandot körs. Mer information om uttryck finns i Utvärdera uttryck.

Aliasnamn

Alias är textmakron som du kan använda för att undvika att behöva skriva om komplexa fraser. Det finns två typer av alias. Mer information om alias finns i Använda alias.

Self-Repeating Kommandon

Du kan använda följande kommandon för att upprepa en åtgärd eller köra andra kommandon villkorligt:

Mer information om varje kommando finns i de enskilda kommandoavsnitten.

Styra rullning

Du kan använda rullningslisten för att visa dina tidigare kommandon och deras utdata.

När du använder CDB eller KD rullar alla tangentbordsposter automatiskt nedåt i felsökningsprogrammets kommandofönster tillbaka till botten.

I WinDbg rullar skärmen automatiskt ned till botten när ett kommando genererar utdata eller trycker på RETUR-tangenten. Om du vill inaktivera den här automatiska rullningen markerar du Alternativen på menyn Visa och avmarkerar sedan kryssrutan Rulla automatiskt .

WinDbg-textfunktioner

I WinDbg kan du använda flera ytterligare funktioner för att ändra hur text visas i felsökningskommandofönstret. Du kan komma åt några av dessa funktioner i WinDbg-fönstret, vissa på snabbmenyn i fönstret Felsökningskommando och några genom att välja lämplig menyikon.

  • Kommandot Radbryt ord på snabbmenyn aktiverar och inaktiverar status för radbyte. Det här kommandot påverkar hela fönstret, inte bara kommandon som du använder när det här tillståndet har ändrats. Eftersom många kommandon och tillägg ger formaterade skärmar rekommenderar vi vanligtvis inte radbyte.

  • Redigera | Lägg till i kommandoutdata lägger till en kommentar i fönstret för felsökningskommandon. Kommandot Lägg till i kommandoutdata på snabbmenyn har samma effekt.

  • Du kan anpassa färgerna som används för texten och bakgrunden i felsökningskommandofönstret. Du kan ange olika färger för olika typer av text. Du kan till exempel visa automatiska registerutdata i en färg, felmeddelanden i en annan färg och DbgPrint-meddelanden i en tredje färg.

  • Du kan använda alla funktioner som är gemensamma för WinDbgs felsökningsinformationsfönster, till exempel att anpassa teckensnitten och använda särskilda redigeringskommandon.

Fjärrfelsökning

När du utför fjärrfelsökning via felsökningsprogrammet kan felsökningsklienten komma åt ett begränsat antal kommandon. Om du vill ändra antalet kommandon som klienten kan komma åt använder du kommandoradsalternativet-clines eller _NT_DEBUG_HISTORY_SIZE miljövariabeln.