Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit beschrijft het gebruik van foutopsporingsprogramma-opdrachten. WinDbg is een foutopsporingsprogramma dat kan worden gebruikt om crashdumps te analyseren, fouten op te sporen in de live gebruikersmodus en kernelmoduscode, en CPU-registers en geheugen te onderzoeken. Zie Overzicht van WinDbg voor meer informatie.
Zie Het Windows-foutopsporingsprogramma installeren om het foutopsporingsprogramma te installeren.
Om aan de slag te gaan met WinDbg, zie Aan de slag met Windows-foutopsporing.
Opdrachtvenster WinDbg Debugger
Voor WinDbg verwijst de term "opdrachtvenster" naar het venster dat in de titelbalk is gelabeld als 'Opdracht'. Dit venster bevat twee deelvensters:
In het kleine, onderste deelvenster voert u opdrachten in.
In het grote, bovenste deelvenster bekijkt u de uitvoer van de opdracht.
Dit venster is altijd geopend aan het begin van een foutopsporingssessie. U kunt opnieuw openen of naar dit venster overschakelen door Opdracht te selecteren in het menu Beeld, op Alt+1 te drukken of de knop Opdracht (Alt+1) te selecteren (
U kunt de toetsen Pijl-omhoog en Pijl-omlaag gebruiken om door de opdrachtgeschiedenis te bladeren. Wanneer een vorige opdracht wordt weergegeven, kunt u deze bewerken en vervolgens op Enter drukken om de vorige opdracht uit te voeren (of de bewerkte versie van de vorige opdracht). De cursor hoeft niet aan het einde van de regel te staan om deze procedure correct te laten werken.
KD of CDB
Voor KD of CDB betekent "Opdrachtvenster van het foutopsporingsprogramma" het hele venster. U voert opdrachten in bij de prompt onderaan het venster. Als de opdrachten uitvoer hebben, wordt de uitvoer in het venster weergegeven en verschijnt de prompt opnieuw.
Prompt van de Debugger Opdrachtvenster
Wanneer u foutopsporing in de gebruikersmodus uitvoert, ziet de prompt in het opdrachtvenster Foutopsporingsprogramma eruit als in het volgende voorbeeld.
2:005>
In het voorgaande voorbeeld is 2 het huidige procesnummer en 005 het huidige threadnummer.
Als u het foutopsporingsprogramma koppelt aan meer dan één computer, wordt het systeemnummer opgenomen vóór het proces- en threadnummer, zoals in het volgende voorbeeld.
3:2:005>
In dit voorbeeld is 3 het huidige systeemnummer, 2 het huidige procesnummer en 005 het huidige threadnummer.
Wanneer u foutopsporing in de kernelmodus uitvoert op een doelcomputer met slechts één processor, ziet de prompt eruit als in het volgende voorbeeld.
kd>
Als de doelcomputer echter meerdere processors heeft, wordt het nummer van de huidige processor weergegeven vóór de prompt, zoals in het volgende voorbeeld.
0: kd>
Als het foutopsporingsprogramma bezig is met het verwerken van een eerder uitgegeven opdracht, worden nieuwe opdrachten tijdelijk niet verwerkt, hoewel ze kunnen worden toegevoegd aan de opdrachtbuffer. Daarnaast kunt u nog steeds besturingssleutels gebruiken in KD en CDB en kunt u nog steeds menuopdrachten en sneltoetsen gebruiken in WinDbg. Wanneer KD of CDB in deze drukke status verkeert, wordt er geen melding weergegeven. Wanneer WinDbg deze bezet-status heeft, wordt de volgende indicator weergegeven in plaats van de prompt:
*BUSY*
U kunt de opdracht .pcmd (opdracht Prompt instellen) gebruiken om tekst toe te voegen aan deze prompt.
Soorten opdrachten
WinDbg, KD en CDB ondersteunen diverse opdrachten. Sommige opdrachten worden gedeeld tussen de foutopsporingsprogramma's en sommige zijn alleen beschikbaar op een of twee van de foutopsporingsprogramma's.
Sommige opdrachten zijn alleen beschikbaar in live foutopsporing en andere opdrachten zijn alleen beschikbaar wanneer u fouten in een dumpbestand opspoort.
Sommige opdrachten zijn alleen beschikbaar tijdens foutopsporing in de gebruikersmodus en andere opdrachten zijn alleen beschikbaar tijdens foutopsporing in de kernelmodus.
Sommige opdrachten zijn alleen beschikbaar wanneer het doel wordt uitgevoerd op bepaalde processors. Zie Debugger-opdrachten voor meer informatie over alle opdrachten en de bijbehorende beperkingen.
Opdrachten bewerken, herhalen en annuleren
U kunt standaardbewerkingssleutels gebruiken wanneer u een opdracht invoert:
Gebruik de toetsen Pijl-omhoog en Pijl-omlaag om eerdere opdrachten te vinden.
Bewerk de huidige opdracht met de toetsen Backspace, Delete, Insert en Pijl-links en Pijl-rechts.
Druk op Esc om de huidige regel te wissen.
U kunt op de Tab-toets drukken om de tekstinvoer automatisch te voltooien. Druk in een van de foutopsporingsprogramma's op tab nadat u ten minste één teken hebt ingevoerd om automatisch een opdracht te voltooien. Druk herhaaldelijk op de Tab-toets om door de opties voor tekstvoltooiing te bladeren en houd Shift ingedrukt en druk op Tab om achteruit te bladeren. U kunt ook jokertekens in de tekst gebruiken en op Tab drukken om de volledige set tekstvoltooiingsopties uit te vouwen. Als u bijvoorbeeld fo*!ba typt en vervolgens op Tab drukt, wordt het foutopsporingsprogramma uitgebreid naar de set met alle symbolen die beginnen met 'ba', in alle modules met modulenamen die beginnen met 'fo'. In een ander voorbeeld kunt u alle extensieopdrachten met 'prcb' voltooien door !*prcb te typen en vervolgens op Tab te drukken.
Wanneer u de TAB-toets gebruikt om tekstvoltooiing uit te voeren, komt de tekst overeen met een puntopdracht als het tekstfragment begint met een punt (.). Als uw tekstfragment begint met een uitroepteken (!), wordt de tekst vergeleken met een extensieopdracht. Anders wordt de tekst vergeleken met een symbool. Wanneer u de TAB-toets gebruikt om symbolen in te voeren, voltooit u code en typt u symbolen en modulenamen wanneer u op tabtoets drukt. Als er geen modulenaam duidelijk is, worden lokale symbolen en modulenamen voltooid. Als er een module- of modulepatroon wordt gegeven, voltooit de voltooiing van symbolen code en typt u symbolen uit alle overeenkomsten.
U kunt selecteren en vasthouden (of met de rechtermuisknop klikken) in het Foutopsporing opdrachtvenster om de inhoud van het klembord automatisch in de opdracht die u typt te plakken.
De maximale opdrachtlengte is 4096 tekens. Als u echter het foutopsporingsprogramma voor de gebruikersmodus beheert vanuit het kernelfoutopsporingsprogramma, is de maximale regellengte 512 tekens.
Druk in CDB en KD zelf op Enter om de vorige opdracht te herhalen. In WinDbg kunt u dit gedrag in- of uitschakelen. Zie ENTER (Laatste opdracht herhalen) voor meer informatie over dit gedrag.
Als de laatste opdracht die u hebt uitgegeven een lang scherm weergeeft en u deze wilt afsnijden, gebruikt u de Ctrl+C-toets in CDB of KD. In WinDbg gebruikt u Debuggen | Onderbreken of drukt u op Ctrl+BREAK.
In foutopsporing in de kernelmodus kunt u opdrachten annuleren vanaf het toetsenbord van de doelcomputer door op Ctrl+C te drukken.
U kunt de opdracht .cls (Clear Screen) gebruiken om alle tekst uit het opdrachtvenster Foutopsporingsprogramma te wissen. Met deze opdracht wordt de hele opdrachtgeschiedenis gewist. In WinDbg kunt u de opdrachtgeschiedenis wissen met behulp van de opdracht Bewerken | Opdrachtuitvoer wissen of door Opdrachtuitvoer wissen te selecteren in het snelmenu van het Opdrachtenvenster van de debugger.
Expressiesyntaxis
Veel opdrachten en extensieopdrachten accepteren expressies als argumenten. Het foutopsporingsprogramma evalueert deze expressies voordat u de opdracht uitvoert. Zie Expressies evalueren voor meer informatie over expressies.
Aliassen
Aliassen zijn tekstmacro's die u kunt gebruiken om te voorkomen dat u complexe woordgroepen opnieuw moet typen. Er zijn twee soorten aliassen. Zie Aliassen gebruiken voor meer informatie over aliassen.
Self-Repeating-opdrachten
U kunt de volgende opdrachten gebruiken om een actie te herhalen of andere opdrachten voorwaardelijk uit te voeren:
De voorwaardelijke opdracht j (If-Elseuitvoeren)
De voorwaardelijke opdracht z (Uitvoeren tijdens)
De !list extensie-opdracht
Zie de afzonderlijke opdrachtonderwerpen voor meer informatie over elke opdracht.
Scrollen beheren
U kunt de schuifbalk gebruiken om uw vorige opdrachten en hun uitvoer weer te geven.
Wanneer u CDB of KD gebruikt, schuift een toetsenbordinvoer automatisch terug naar beneden in het opdrachtvenster Foutopsporingsprogramma.
In WinDbg schuift de weergave automatisch omlaag naar beneden wanneer een opdracht uitvoer produceert of u drukt op enter. Als u deze automatische schuiffunctie wilt uitschakelen, selecteert u de opties in het menu Beeld en schakelt u het selectievakje Automatisch schuiven uit .
WinDbg Tekstfuncties
In WinDbg kunt u verschillende extra functies gebruiken om te wijzigen hoe tekst wordt weergegeven in het opdrachtvenster Foutopsporingsprogramma. U hebt toegang tot sommige van deze functies in het WinDbg-venster, sommige in het snelmenu in het opdrachtvenster Foutopsporingsprogramma en sommige door het juiste menupictogram te selecteren.
Met de opdracht Tekstterugloop in het snelmenu wordt de tekstterugloopstatus ingeschakeld en uitgeschakeld. Deze opdracht is van invloed op het hele venster, niet alleen opdrachten die u gebruikt nadat deze status is gewijzigd. Omdat veel opdrachten en extensies opgemaakte schermen produceren, raden we meestal geen tekstterugloop aan.
De menuopdracht Bewerken | Toevoegen aan uitvoervenster voegt een opmerking toe in het opdrachtvenster van de Debugger. De opdracht Toevoegen aan opdrachtuitvoer in het snelmenu heeft hetzelfde effect.
U kunt de kleuren aanpassen die worden gebruikt voor de tekst en de achtergrond van het opdrachtvenster Foutopsporingsprogramma. U kunt verschillende kleuren opgeven voor verschillende soorten tekst. U kunt bijvoorbeeld de automatische registeruitvoer weergeven in één kleur, foutberichten in een andere kleur en DbgPrint-berichten in een derde kleur.
U kunt alle gangbare functies van de foutopsporingsvensters van WinDbg gebruiken, zoals het aanpassen van de lettertypen en het gebruik van speciale opdrachten.
Externe foutopsporing
Wanneer u externe foutopsporing uitvoert via het foutopsporingsprogramma, heeft de client voor foutopsporing toegang tot een beperkt aantal opdrachten. Als u het aantal opdrachten wilt wijzigen waartoe de client toegang heeft, gebruikt u de opdrachtregeloptie-clines of de omgevingsvariabele _NT_DEBUG_HISTORY_SIZE.