Dela via


Använda felsökningsprogrammets markeringsspråk

Felsökningskommandon kan ge utdata i oformaterad text eller i ett förbättrat format som använder DML (Debugger Markup Language). Utdata som har utökats med DML innehåller länkar som du kan klicka på för att köra relaterade kommandon.

DML är tillgängligt i Windows 10 och senare.

DML-kompatibla kommandon

Följande kommandon kan generera DML-utdata:

Kommandot lmD är ett exempel på ett kommando som kan ge DML-utdata. Kommandot lmD visar en lista över inlästa moduler. Som följande bild visar är varje modulnamn en länk som du kan klicka på för att få mer detaljerad information om modulen.

Skärmbild av lmD-kommandoutdata i felsökningsprogrammet.

Följande bild visar resultatet av att klicka på länken usbuhci. Utdata innehåller ytterligare länkar som gör att du kan utforska ytterligare information om usbuhci-modulen.

Skärmbild av information om usbuhci-modulen i felsökningsprogrammet.

Att slå på och av DML

Kommandot .prefer_dml aktiverar eller inaktiverar DML. När DML är aktiverat (.prefer_dml 1) genererar kommandon som kan generera DML-utdata DML-utdata som standard.

förbättringar av -konsolen

Alla Windows-felsökare har nu kommandoutdataområden som stöder DML-parsning. I windbg stöder kommandofönstret allt DML-beteende och visar färger, teckensnittsformat och länkar. Konsolfelsökarna, ntsd, cdb och kd, stöder endast färgattributen för DML och endast då när de körs i en riktig konsol med färgläge aktiverat. Felsökningsprogram med omdirigerad I/O, ntsd –d eller remote.exe sessioner visar inga färger.

färgläge för konsolfelsökare

Konsolens felsökare, ntsd, cdb och kd har nu möjlighet att visa färgade utdata när de körs i en sann konsol. Detta är inte standard. Det kräver att färgläget uttryckligen aktiveras via tools.ini. Den nya col_mode <true|false>-token i tools.ini styr inställningen för färgläge. Mer information om hur du arbetar med tools.ini-filen finns i Konfigurera tools.ini

När färgläget är aktiverat kan felsökaren generera färgade utdata. Som standard är de flesta färger inte inställda och standardinställningen är i stället de aktuella konsolfärgerna.

Windbg:s kommando-webbläsarfönster för

I Windows 10 och senare Windbg parsar kommandowebbläsarens fönster och visar DML. Alla taggar som <länk>, <exec> och utseendeändringar stöds fullt ut.

Om du vill starta en kommandowebbläsare med hjälp av menyn i WinDbg väljer du View, Command Browser. Kommandot .browse <> i kommandofönstret öppnar ett nytt kommandowebbläsarefönster och kör det angivna kommandot. Mer information finns i Använda kommandobrowserfönstret i WinDbg (Classic). Ett nytt kommandowebbläsarefönster kan också öppnas med Ctrl+N.

Kommandowebbläsarens fönster efterliknar avsiktligt beteendet för en webbläsare med en listrutehistorik och föregående/nästa knappar. Listrutan historik visar bara de senaste tjugo kommandona, men fullständig historik sparas så genom att gå tillbaka till kommandona kan du hämta listrutan för att visa äldre historik.

Du kan ha så många kommandofönster som möjligt öppna samtidigt som du vill. Kommandofönster finns kvar på arbetsytor men sparar bara det aktuella kommandot. historiken bevaras inte.

Menyn WinDbg View har alternativet Ange startkommando för webbläsare som gör att en användare kan ange ett föredraget kommando för nya webbläsarfönster till att börja med, till exempel .dml_start. Det här kommandot sparas i arbetsytorna.

Ett senaste kommandon underfönster finns på menyn Visa för att hålla kommandon av intresse. Om du väljer ett nytt kommando öppnas en ny webbläsare med det angivna kommandot. Det finns ett menyalternativ på webbläsarfönstrets snabbmeny som lägger till fönstrets aktuella kommando i listan över de senaste kommandona. Listan över de senaste kommandona finns kvar på arbetsytor.

Kommandowebbläsarens fönster kör kommandot synkront och visar därför inte utdata förrän kommandot har slutförts. Långvariga kommandon visar ingenting förrän de har slutförts.

Länkar har en högerklickmeny som liknar högerklickmenyn i en webbläsare. Länkar kan öppnas i ett nytt webbläsarfönster. En länks kommando kan kopieras till urklipp för användning.

Klicka på ikonen nära det övre högra hörnet i namnlisten för att ange kommandowebbläsarens fönster till antingen automatisk uppdatering eller manuell uppdatering. Webbläsare med automatisk uppdatering kör automatiskt kommandot igen vid ändringar i felsökningens tillstånd. Detta håller utdata live men på bekostnad av att utföra kommandot vid alla förändringar. Automatisk uppdatering är aktiverat som standard. Om webbläsaren inte behöver vara live kan fönstrets snabbmeny användas för att inaktivera automatisk uppdatering.

Eftersom kommandon körs av motorn, inte av användargränssnittet, returnerar användargränssnittsspecifika kommandon, till exempel .cls (Clear Screen), ett syntaxfel i när det används i kommandowebbläsarens fönster. Det innebär också att när användargränssnittet är en fjärrklient körs kommandot av servern, inte av klienten, och kommandoutdata visar servertillståndet.

Kommandowebbläsaren kan köra valfritt felsökningskommando, det behöver inte vara ett kommando som genererar DML. Du kan använda webbläsarfönster för att ha en godtycklig uppsättning kommandon aktiva för användning.

Anpassning av DML

DML definierar en liten uppsättning taggar som kan ingå i kommandoutdata. Ett exempel är taggen <länk>. Du kan experimentera med <länk> tagg (och andra DML-taggar) med hjälp av kommandona .dml_start och .browse. Kommandot .browse .dml_startfilepath kör kommandona som lagras i en DML-fil. Utdata visas i kommandobläsarfönstret i stället för i det vanliga kommandofönstret.

Anta att filen c:\DmlExperiment.txt innehåller följande rader.

My DML Experiment
<link cmd="lmD musb*">List modules that begin with usb.</link>

Följande kommando visar texten och länken i fönstret Kommandowebbläsare.

.browse .dml_start c:\Dml_Experiment.txt

Skärmbild av DML-filutdata i kommandowebbläsarens fönster.

Om du klickar på List-modulerna som börjar med usb- länk visas utdata som liknar följande bild.

Skärmbild av modullistan när du har klickat på länken i DML-filutdata.

En grundlig diskussion om DML-anpassning och en fullständig lista över DML-taggar finns i Anpassa felsökningsutdata med DML-.