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.
Popisuje použití příkazů ladicího programu. WinDbg je ladicí program, který lze použít k analýze výpisů stavu systému, ladění živého uživatelského režimu a kódu režimu jádra a zkoumání registrů procesoru a paměti. Další informace naleznete v tématu Přehled WinDbg.
Chcete-li nainstalovat ladicí program, viz Instalace ladicího programu systému Windows.
Pokud chcete začít s WinDbgem, přečtěte si téma Začínáme s laděním Systému Windows.
Okno příkazu ladicího programu WinDbg
V případě WinDbg odkazuje "Příkazové okno ladicího programu" na okno s popiskem "Command" (Příkaz) v záhlaví. Toto okno obsahuje dvě podokna:
V malém dolním podokně zadáte příkazy.
Ve velkém horním podokně zobrazíte výstup příkazu.
Toto okno je vždy otevřeno na začátku ladicího sezení. Do tohoto okna můžete znovu vstoupit nebo přepnout tak, že v nabídce Zobrazení vyberete Command, stisknete ALT+1 nebo vyberete tlačítko Command (Alt+1) (
)
K procházení historie příkazů můžete použít klávesy ŠIPKA NAHORU a ŠIPKA DOLŮ. Když se zobrazí předchozí příkaz, můžete ho upravit a stisknutím klávesy ENTER spustit předchozí příkaz (nebo upravenou verzi předchozího příkazu). Kurzor nemusí být na konci řádku, aby tento postup fungoval správně.
KD nebo CDB
V případě KD nebo CDB odkazuje "Příkazové okno ladicího programu" na celé okno. Příkazy zadáte na příkazovém řádku v dolní části okna. Pokud příkazy mají nějaký výstup, okno zobrazí výstup a pak znovu zobrazí výzvu.
Příkazový řádek ladicího programu
Při ladění v uživatelském režimu vypadá příkazový řádek v příkazovém okně ladicího programu jako v následujícím příkladu.
2:005>
V předchozím příkladu je 2 číslo aktuálního procesu a 005 je aktuální číslo vlákna.
Pokud ladicí program připojíte k více než jednomu počítači, bude systémové číslo zahrnuto před procesem a číslem vlákna, jako v následujícím příkladu.
3:2:005>
V tomto příkladu je 3 aktuální systémové číslo, 2 je aktuální číslo procesu a 005 je aktuální číslo vlákna.
Když provádíte ladění v režimu jádra v cílovém počítači, který má pouze jeden procesor, výzva vypadá jako v následujícím příkladu.
kd>
Pokud má však cílový počítač více procesorů, zobrazí se před výzvou počet aktuálního procesoru, jako v následujícím příkladu.
0: kd>
Pokud ladicí program zpracovává dříve vydaný příkaz, nové příkazy se dočasně nezpracují, i když je lze přidat do vyrovnávací paměti příkazů. Kromě toho můžete stále používat řídicí klávesy v KD a CDB a stále můžete používat příkazy nabídky a klávesové zkratky v WinDbg. Pokud je KD nebo CDB v tomto zaneprázdněném stavu, nezobrazí se žádná výzva. Pokud je WinDbg v tomto zaneprázdněném stavu, místo výzvy se zobrazí následující indikátor:
*BUSY*
K přidání textu do tohoto řádku můžete použít příkaz .pcmd (Nastavit příkazový řádek ).
Typy příkazů
WinDbg, KD a CDB podporují různé příkazy. Některé příkazy jsou sdíleny mezi ladicími programy a některé jsou k dispozici pouze v jednom nebo dvou z těchto ladicích programů.
Některé příkazy jsou k dispozici pouze při běžícím ladění a jiné příkazy jsou k dispozici pouze při ladění výpisového souboru.
Některé příkazy jsou k dispozici pouze během ladění v uživatelském režimu a jiné příkazy jsou k dispozici pouze během ladění v režimu jádra.
Některé příkazy jsou k dispozici pouze v případech, kdy cíl běží na určitých procesorech. Další informace o všech příkazech a jejich omezeních naleznete v tématu Příkazy ladicího programu.
Úpravy, opakování a zrušení příkazů
Standardní klávesy pro úpravy můžete použít při zadávání příkazu:
Pomocí kláves ŠIPKA NAHORU a ŠIPKA DOLŮ vyhledejte předchozí příkazy.
Upravte aktuální příkaz pomocí kláves BACKSPACE, DELETE, INSERT a ŠIPKA VLEVO a ŠIPKA VPRAVO.
Stisknutím klávesy ESC vymažte aktuální řádek.
Stisknutím klávesy TAB můžete automaticky dokončit zadávání textu. V libovolném ladicím programu stiskněte klávesu TAB, jakmile zadáte aspoň jeden znak, aby se příkaz automaticky dokončil. Opakovaným stisknutím klávesy TAB procházejte nabídkami pro dokončování textu, a podržte klávesu SHIFT a stiskněte TAB pro procházení zpět. V textu můžete také použít zástupné znaky a stisknutím klávesy TAB rozbalit celou sadu možností dokončování textu. Pokud například zadáte fo*!ba a pak stisknete klávesu TAB, ladicí program se rozbalí na sadu všech symbolů, které začínají na "ba", ve všech modulech s názvy modulů, které začínají na "fo". Jako další příklad můžete dokončit všechny příkazy rozšíření, které mají v nich "prcb", zadáním !*prcb a stisknutím klávesy TAB.
Pokud k dokončení textu použijete klávesu TAB a váš fragment textu začíná tečkou (.), text bude přiřazen k příkazu tečky. Pokud fragment textu začíná vykřičníkem (!), bude se text shodovat s příkazem rozšíření. V opačném případě se text shoduje se symbolem. Když k zadání symbolů použijete klávesu TAB, stisknutí klávesy TAB dokončí kód a zadáte symboly a názvy modulů. Pokud není žádný název modulu zřejmý, dokončí se místní symboly a názvy modulů. Pokud je zadaný modul nebo vzor modulu, dokončování symbolů zahrnuje kód a symboly typů ze všech shod.
V okně Příkazů ladicích programů můžete vybrat a podržet (nebo kliknout pravým tlačítkem) pro automatické vložení obsahu schránky do příkazu, který píšete.
Maximální délka příkazu je 4096 znaků. Pokud však řídíte ladicí program uživatelského režimu z ladicího programu jádra, maximální délka řádku je 512 znaků.
V CDB a KD stiskněte klávesu ENTER samotnou a opakujte předchozí příkaz. Ve WinDbg můžete toto chování povolit nebo zakázat. Další informace o tomto chování naleznete v tématu ENTER (Opakovat poslední příkaz).
Pokud poslední příkaz, který jste vydali, zobrazí dlouhý displej a chcete ho vypnout, použijte klávesu CTRL+C v CDB nebo KD. V WinDbg použijte Debug | Přerušit nebo stisknout kombinaci kláves CTRL+BREAK.
V ladění v režimu jádra můžete zrušit příkazy z klávesnice cílového počítače stisknutím kombinace kláves CTRL+C.
Pomocí příkazu .cls (Clear Screen) můžete vymazat veškerý text z příkazového okna ladicího programu. Tento příkaz vymaže celou historii příkazů. V WinDbg můžete vymazat výstup příkazu pomocí příkazu Upravit | Vymazat výstup příkazu nebo výběrem Vymazat výstup příkazu v kontextové nabídce okna Příkaz ladicího programu.
Syntaxe výrazu
Mnoho příkazů a příkazů rozšíření přijímá výrazy jako argumenty . Ladicí program tyto výrazy vyhodnocuje před spuštěním příkazu. Další informace o výrazech naleznete v tématu Vyhodnocení výrazů.
Přezdívky
Aliasy jsou textová makra, která můžete použít, abyste nemuseli znovu zadávat složité fráze. Existují dva druhy aliasů. Další informace o aliasech najdete v tématu Použití aliasů.
příkazy Self-Repeating
K opakování akce nebo podmíněnému spuštění dalších příkazů můžete použít následující příkazy:
Podmíněný příkaz j (Spustit If-Else)
Podmíněný příkaz z (Spustit během)
Kvalifikátor příkazu ~e (Thread-Specific Command)
Příkaz rozšíření !list
Další informace o jednotlivých příkazech najdete v jednotlivých tématech o příkazech.
Řízení posouvání
Pomocí posuvníku můžete zobrazit předchozí příkazy a jejich výstup.
Pokud používáte CDB nebo KD, všechny položky klávesnice se automaticky posunou dolů v okně Příkaz ladicího programu zpět do dolní části.
Ve WinDbg se zobrazení automaticky posune dolů, kdykoli příkaz vytvoří výstup, nebo stisknete klávesu ENTER. Pokud chcete toto automatické posouvání zakázat, zaškrtněte v nabídce Zobrazenímožnosti a zrušte zaškrtnutí políčka Automaticky posunout.
Textové funkce WinDbg
Ve WinDbg můžete pomocí několika dalších funkcí změnit způsob zobrazení textu v okně příkazu ladicího programu. K některým z těchto funkcí můžete přistupovat v okně WinDbg, k jiným v místní nabídce v okně příkazů ladicího programu a k dalším výběrem příslušné ikony nabídky.
Příkaz Zalamování slov v místní nabídce se zapne a vypne stav zalamování slov. Tento příkaz ovlivní celé okno, nejen příkazy, které použijete po změně tohoto stavu. Vzhledem k tomu, že mnoho příkazů a rozšíření vytváří formátované zobrazení, obvykle nedoporučujeme zalamování slov.
Upravit | Přidat do výstupu příkazu přidá komentář do okna příkazů ladicího programu. Příkaz Přidat do výstupu příkazu v místní nabídce má stejný účinek.
Můžete přizpůsobit barvy, které se používají pro text a pozadí příkazového okna ladicího programu. Pro různé druhy textu můžete zadat různé barvy. Můžete například zobrazit výstup automatické registrace v jedné barvě, chybové zprávy v jiné barvě a zprávy DbgPrint ve třetí barvě.
Můžete použít všechny funkce, které jsou společné pro okna s informacemi o ladění WinDbg, například přizpůsobení písem a použití speciálních příkazů pro úpravy.
Vzdálené ladění
Při vzdáleném ladění prostřednictvím ladicího programu má klient ladění přístup k omezenému počtu příkazů. Pokud chcete změnit počet příkazů, ke kterým má klient přístup, použijte možnost příkazového řádku-clines nebo proměnnou prostředí _NT_DEBUG_HISTORY_SIZE.