Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Příkazy ladicího programu můžou poskytovat výstup ve formátu prostého textu nebo ve vylepšeném formátu, který používá jazyk DML (Debugger Markup Language). Výstup, který je vylepšený pomocí DML, obsahuje odkazy, na které můžete kliknout a spustit související příkazy.
DML je k dispozici ve Windows 10 a novějších verzích.
Příkazy podporující DML
Výstup DML je možné vygenerovat pomocí následujících příkazů:
Příkaz lmD je příkladem příkazu, který dokáže poskytnout výstup DML. Příkaz lmD zobrazí seznam načtených modulů. Jak ukazuje následující obrázek, každý název modulu je odkaz, na který můžete kliknout, abyste získali podrobnější informace o modulu.
Následující obrázek ukazuje výsledek kliknutí na usbuhci odkaz. Výstup obsahuje další odkazy, které vám umožní prozkoumat další podrobnosti o modulu usbuhci.
Zapnutí a vypnutí DML
Příkaz .prefer_dml zapne nebo vypne DML. Když je DML zapnuté (.prefer_dml 1), příkazy, které dokážou generovat výstup DML, ve výchozím nastavení vygenerují výstup DML.
Vylepšení konzoly
Všechny ladicí programy systému Windows teď mají výstupní oblasti příkazů, které podporují parsování DML. Ve windbg příkazové okno podporuje veškeré chování DML a zobrazí barvy, styly písma a odkazy. Ladicí programy konzole, ntsd, cdb a kd, podporují pouze barevné atributy DML, a to pouze při spuštění ve skutečné konzole s povoleným barevným režimem. Ladicí programy s přesměrovanými vstupně-výstupními operacemi, jako jsou relace ntsd –d nebo remote.exe, nezobrazí žádné barvy.
Barevný režim ladicího programu konzoly
Ladicí programy konzole, ntsd, cdb a kd teď mohou zobrazit barevný výstup při spuštění v opravdové konzoli. Toto není výchozí, vyžaduje explicitní povolení barevného režimu prostřednictvím tools.ini. Nový col_mode <true|false> token v tools.ini řídí nastavení režimu barev. Další informace o práci se souborem tools.ini naleznete v tématu Konfigurace tools.ini
Když je aktivován barevný režim, debugger může vytvářet barevný výstup. Ve výchozím nastavení není většina barev nastavená a místo toho je výchozí aktuální barva konzoly.
Okno prohlížeče příkazů Windbg
Ve Windows 10 a novějším windbg okno příkazového prohlížeče analyzuje a zobrazí DML. Všechny značky, jako <odkaz>, <exec> a úpravy vzhledu, jsou plně podporované.
Pokud chcete relaci prohlížeče příkazů spustit pomocí nabídky v WinDbg, vyberte Zobrazit, Prohlížeč příkazů. Příkaz> .browse <v příkazovém okně otevře nové okno prohlížeče příkazů a spustí daný příkaz. Další informace naleznete v tématu Použití okna prohlížeče příkazů v WinDbg (Classic). Nové okno prohlížeče příkazů lze otevřít také pomocí Ctrl+N.
Okno prohlížeče příkazů záměrně napodobuje chování webového prohlížeče s rozevírací historií a předchozími a dalšími tlačítky. V rozevíracím seznamu historie se zobrazí pouze posledních dvacet příkazů, ale úplná historie je uchovávána. Můžete se vrátit k předchozím příkazům a tím umožnit rozevíracímu seznamu zobrazit starší historii.
Můžete mít otevřeno tolik oken příkazů najednou, kolik chcete. Okna příkazů zůstávají v pracovních prostorech, ale uloží pouze aktuální příkaz; historie se neuchová.
Nabídka Zobrazení v programu WinDbg má možnost Nastavit příkaz Start prohlížeče, která umožňuje uživateli nastavit preferovaný příkaz, s nímž se mají nová okna prohlížeče otevřít, například .dml_start. Tento příkaz se uloží do pracovních prostorů.
Dílčí okno Poslední příkazy je k dispozici v nabídce Zobrazení pro uložení příkazů, které jsou zajímavé. Výběrem posledního příkazu se otevře nový prohlížeč s daným příkazem. V místní nabídce okna prohlížeče je položka nabídky, která přidá aktuální příkaz okna do seznamu posledních příkazů. Seznam posledních příkazů je uchováván v pracovních prostorech.
Okno prohlížeče příkazů provede příkaz synchronně a nezobrazí výstup, dokud se příkaz nedokončil. Příkazy, které dlouho trvají, nebudou zobrazovat nic, dokud se nedokončí.
Odkazy mají kontextovou nabídku po kliknutí pravým tlačítkem myši, podobně jako v internetovém prohlížeči. Odkazy lze otevřít v novém okně prohlížeče. Příkaz odkazu lze zkopírovat do schránky pro další použití.
Kliknutím na ikonu v pravém horním rohu záhlaví nastavíte okna prohlížeče příkazů na automatickou aktualizaci nebo ruční aktualizaci. Prohlížeče s automatickou aktualizací opět spustí svůj příkaz při změnách stavu ladicího programu. Výstup zůstane aktivní, ale za cenu provedení příkazu u všech změn. Automatická aktualizace je ve výchozím nastavení zapnutá. Pokud prohlížeč nemusí být aktivní, můžete k zakázání automatické aktualizace použít místní nabídku okna.
Vzhledem k tomu, že modul spouští příkazy, ne uživatelským rozhraním, příkazy specifické pro uživatelské rozhraní, například .cls (Clear Screen), vrátí při použití v oknech prohlížeče příkazů chybu syntaxe. Také to znamená, že když je uživatelské rozhraní vzdálený klient, příkaz se spustí serverem, nikoli klientem, a výstup příkazu zobrazí stav serveru.
Okna prohlížeče příkazů mohou spustit jakýkoli příkaz ladicího programu, nemusí to být příkaz, který vytváří DML. Okna prohlížeče můžete použít k tomu, aby byla aktivní libovolná sada příkazů pro použití.
Přizpůsobení DML
DML definuje malou sadu značek, které lze zahrnout do výstupu příkazu. Jedním z příkladů je <značka odkazu> . Pomocí příkazů .dml_start a .browse můžete experimentovat se značkou <odkazu> (a dalšími značkami DML). Příkaz .browse .dml_startcesta k souboru provede příkazy uložené v DML souboru. Výstup se místo běžného příkazového okna zobrazí v okně Prohlížeče příkazů .
Předpokládejme, že soubor c:\DmlExperiment.txt obsahuje následující řádky.
My DML Experiment
<link cmd="lmD musb*">List modules that begin with usb.</link>
Následující příkaz zobrazí text a odkaz v okně Prohlížeče příkazů.
.browse .dml_start c:\Dml_Experiment.txt
Pokud kliknete na moduly Seznamu, které začínají odkazem USB , zobrazí se výstup podobný následujícímu obrázku.
Důkladnou diskuzi o přizpůsobení DML a kompletním seznamu značek DML najdete v tématu Přizpůsobení výstupu ladicího programu pomocí DML.