Sdílet prostřednictvím


Použití příkazů ladicího programu

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) (snímek obrazovky s tlačítkem příkazového okna ladicího programu.)

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:

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.