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.
Opdrachten voor foutopsporingsprogramma's kunnen uitvoer in tekst zonder opmaak of in een verbeterde indeling bieden die gebruikmaakt van DML (Debugger Markup Language). Uitvoer die is verbeterd met DML bevat koppelingen waarop u kunt klikken om gerelateerde opdrachten uit te voeren.
DML is beschikbaar in Windows 10 en hoger.
Opdrachten die geschikt zijn voor DML
De volgende opdrachten kunnen DML-uitvoer genereren:
De lmD-opdracht is een voorbeeld van een opdracht die DML-uitvoer kan leveren. Met de lmD-opdracht wordt een lijst met geladen modules weergegeven. Zoals in de volgende afbeelding wordt weergegeven, is elke modulenaam een koppeling waarop u kunt klikken voor meer gedetailleerde informatie over de module.
In de volgende afbeelding ziet u het resultaat van het klikken op de usbuhci-koppeling . De uitvoer bevat aanvullende koppelingen waarmee u meer informatie over de usbuhci-module kunt verkennen.
DML in- en uitschakelen
Met de opdracht .prefer_dml schakelt U DML in of uit. Wanneer DML is ingeschakeld (.prefer_dml 1), genereren opdrachten die DML-uitvoer kunnen genereren standaard DML-uitvoer.
Consoleverbeteringen
Alle Windows-foutopsporingsprogramma's hebben nu uitvoergebieden voor opdrachten die ondersteuning bieden voor DML-parsering. In windbg ondersteunt het opdrachtvenster alle DML-gedrag en worden kleuren, tekenstijlen en koppelingen weergegeven. De consoledebuggers, ntsd, cdb en kd ondersteunen alleen de kleurkenmerken van DML en de enige wanneer ze worden uitgevoerd in een echte console waarvoor de kleurmodus is ingeschakeld. Foutopsporingsprogramma's met omgeleide I/O-, ntsd -d- of remote.exe-sessies geven geen kleuren weer.
Kleurmodus voor consoledebugger
De consoledebuggers, ntsd, cdb en kd hebben nu de mogelijkheid om gekleurde uitvoer weer te geven wanneer ze worden uitgevoerd in een echte console. Dit is niet de standaardinstelling. Hiervoor moet de kleurmodus expliciet worden ingeschakeld via tools.ini. Het nieuwe col_mode <true|false> token in tools.ini bepaalt de instelling voor de kleurmodus. Zie tools.iniconfigureren voor meer informatie over het werken met het tools.ini-bestand
Wanneer de kleurmodus is ingeschakeld, kan het foutopsporingsprogramma gekleurde uitvoer produceren. De meeste kleuren zijn standaard niet ingesteld en worden in plaats daarvan standaard ingesteld op de huidige consolekleuren.
Windbg-opdrachtbrowservenster
In Windows 10 en latere versies van Windbg verwerkt en toont het opdrachtbrowservenster DML. Alle tags, zoals <link>, <exec> en vormgevingswijzigingen, worden volledig ondersteund.
Als u een opdrachtbrowsersessie wilt starten met behulp van het menu in WinDbg, selecteert u Weergave, Opdrachtbrowser. Met de opdracht> .browse <in het opdrachtvenster wordt een nieuw opdrachtbrowservenster geopend en wordt de opgegeven opdracht uitgevoerd. Zie Het opdrachtbrowservenster gebruiken in WinDbg (klassiek) voor meer informatie. Er kan ook een nieuw opdrachtbrowservenster worden geopend met Ctrl+N.
Het opdrachtbrowservenster bootst opzettelijk het gedrag van een webbrowser na, met een vervolgkeuzelijst en vorige/volgende knoppen. In de vervolgkeuzelijst Geschiedenis worden alleen de laatste twintig opdrachten weergegeven, maar de volledige geschiedenis wordt bewaard. Door terug te gaan in de opdrachten, kunt u ervoor zorgen dat de vervolgkeuzelijst oudere historie weergeeft.
U kunt zoveel opdrachtvensters tegelijk openen als u wilt. Opdrachtvensters blijven behouden in werkruimten, maar slaat alleen het huidige commando op; de geschiedenis wordt niet bewaard.
Het menu WinDbg-weergave heeft de optie Startopdracht Browser instellen waarmee een gebruiker een voorkeursopdracht kan instellen voor nieuwe browservensters, zoals .dml_start. Dit commando wordt bewaard in werkruimten.
Er is een subvenster beschikbaar in het menu Beeld, genaamd Recente opdrachten, om relevante opdrachten te bewaren. Als u een recente opdracht selecteert, wordt een nieuwe browser geopend met de opgegeven opdracht. Er is een menu-item in het contextmenu van het browservenster waarmee de huidige opdracht van het venster wordt toegevoegd aan de lijst met recente opdrachten. De lijst met recente opdrachten wordt bewaard in werkruimtes.
Het opdrachtbrowservenster voert de opdracht synchroon uit en geeft dus geen uitvoer weer totdat de opdracht is voltooid. Langlopende opdrachten zullen niets vertonen totdat ze zijn voltooid.
Koppelingen hebben een snelmenu dat vergelijkbaar is met het contextmenu met de rechtermuisknop in een webbrowser. Koppelingen kunnen worden geopend in een nieuw browservenster. De opdracht van een koppeling kan worden gekopieerd naar het klembord voor later gebruik.
Klik op het pictogram in de rechterbovenhoek van de titelbalk om de vensters van de opdrachtbrowser in te stellen op automatisch vernieuwen of handmatig vernieuwen. Auto-vernieuwende browsers voeren hun opdracht automatisch opnieuw uit bij wijzigingen in de debuggerstatus. Hierdoor blijft de uitvoer live, maar ten koste van het uitvoeren van de opdracht op alle wijzigingen. Automatisch vernieuwen is standaard ingeschakeld. Als de browser niet live hoeft te zijn, kan het contextmenu van het venster worden gebruikt om automatisch vernieuwen uit te schakelen.
Omdat opdrachten worden uitgevoerd door de engine, niet door de gebruikersinterface, worden opdrachten die specifiek zijn voor de gebruikersinterface, zoals .cls (Clear Screen), een syntaxisfout geretourneerd wanneer deze worden gebruikt in opdrachtbrowservensters. Dit betekent ook dat wanneer de gebruikersinterface een externe client is, de opdracht wordt uitgevoerd door de server, niet door de client, en de opdrachtuitvoer de serverstatus weergeeft.
Opdrachtbrowservensters kunnen elke foutopsporingsprogramma-opdracht uitvoeren. Het hoeft geen opdracht te zijn die DML produceert. U kunt browservensters gebruiken om een willekeurige set opdrachten te activeren voor gebruik.
DML aanpassen
DML definieert een kleine set tags die kunnen worden opgenomen in de opdrachtuitvoer. Een voorbeeld hiervan is de <koppelingstag> . U kunt experimenteren met de <koppelingstag> (en andere DML-tags) met behulp van de opdrachten .dml_start en .browse . Met de opdracht .browse .dml_startfilepath worden de opdrachten uitgevoerd die zijn opgeslagen in een DML-bestand. De uitvoer wordt weergegeven in het venster Opdrachtbrowser in plaats van het normale opdrachtvenster.
Stel dat het bestand c:\DmlExperiment.txt de volgende regels bevat.
My DML Experiment
<link cmd="lmD musb*">List modules that begin with usb.</link>
Met de volgende opdracht wordt de tekst en koppeling weergegeven in het venster Opdrachtbrowser.
.browse .dml_start c:\Dml_Experiment.txt
Als u op de lijstmodules klikt die beginnen met een USB-koppeling , ziet u uitvoer die vergelijkbaar is met de volgende afbeelding.
Zie De uitvoer van het foutopsporingsprogramma aanpassen met DML voor een grondige bespreking van DML-aanpassingen en een volledige lijst met DML-tags.