Sdílet prostřednictvím


Ladění kódu Assembleru v programu WinDbg (Classic)

Ve WinDbg můžete zobrazit strojový kód zadáním příkazů nebo použitím okna disasembleru.

Příkazové okno ladicího programu

Kód sestavení můžete zobrazit zadáním jednoho z příkazů u, ub, uu (Unassemble) v okně Příkazu ladicího programu.

Okno demontáže

Chcete-li otevřít nebo přepnout do okna disassembleru, zvolte Disassembly v nabídce Zobrazit. (Můžete také stisknout ALT+7 nebo vybrat tlačítko Disassembly na panelu nástrojů. Alt+SHIFT+7 zavře okno Disassembly.)

Následující snímek obrazovky ukazuje příklad okna Disassembly.

Snímek obrazovky s oknem Disassemblování ve WinDbg.

Ladicí program přebírá část paměti, interpretuje ji jako binární strojové instrukce a pak ji rozebere, aby vytvořil verzi v jazyce symbolických instrukcí. Výsledný kód se zobrazí v okně disassembly.

V okně demontáže můžete provést následující akce:

  • Chcete-li rozebrat jinou část paměti, zadejte do pole Offset adresu paměti, kterou chcete rozebrat. (Po zadání adresy můžete stisknout klávesu ENTER, ale nemusíte.) Okno zpětného překladu zobrazí kód před dokončením adresy; tento kód můžete ignorovat.

  • Pokud chcete zobrazit další části paměti, vyberte tlačítka Předchozí nebo Další nebo stiskněte klávesy PAGE UP nebo PAGE DOWN. Tyto příkazy zobrazují zpětně rozebraný kód z předchozích nebo následujících částí paměti. Stisknutím kláves ŠIPKA VPRAVO, ŠIPKA VLEVO, ŠIPKA NAHORU a ŠIPKA DOLŮ můžete procházet v okně. Pokud se pomocí těchto klíčů přesunete mimo stránku, zobrazí se nová stránka.

Okno Rozkladu má panel nástrojů se dvěma tlačítky a místní nabídku s dalšími příkazy. Pokud chcete získat přístup k nabídce, vyberte a podržte (nebo klikněte pravým tlačítkem) na záhlaví nebo vyberte ikonu, která se zobrazí v pravém horním rohu okna. Následující seznam popisuje některé příkazy nabídky.

  • Přejít na aktuální adresu otevře okno Zdroj se zdrojovým souborem, který odpovídá vybranému řádku v okně Rozobrát a zvýrazní tento řádek.

  • Rozpad před aktuální instrukcí způsobí, že aktuální řádek bude umístěn uprostřed okna Rozpad. Tento příkaz je výchozí možností. Pokud zrušíte zaškrtnutí tohoto příkazu, zobrazí se aktuální řádek v horní části okna disassembleru, což šetří čas, protože reverzní směr demontáže může být časově náročný.

  • Zvýraznění pokynů z aktuálního zdrojového řádku způsobí zvýraznění všech pokynů, které odpovídají aktuálnímu zdrojovému řádku. Jeden zdrojový řádek často odpovídá více instrukcím sestavení. Pokud je kód optimalizovaný, nemusí být tyto pokyny k sestavení po sobě jdoucí. Tento příkaz umožňuje najít všechny instrukce sestavené z aktuálního zdrojového řádku.

  • Zobrazit zdrojový řádek pro každou instrukci zobrazí číslo zdrojového řádku, které odpovídá jednotlivým instrukcím sestavení.

  • Zobrazit zdrojový soubor pro každou instrukci zobrazí název zdrojového souboru, který odpovídá jednotlivým instrukcím sestavení.

Viz také

Další informace o ladění sestavení a souvisejících příkazech a úplné vysvětlení zobrazení sestavení naleznete v tématu Ladění v režimu sestavení.