Sdílet prostřednictvím


Zobrazení zpětného překladu kódu v ladicím programu sady Visual Studio (C#, C++, Visual Basic, F#)

Okno Zpětné překladu zobrazuje kód sestavení odpovídající pokynům vytvořeným kompilátorem. Pokud ladíte spravovaný kód, tyto pokyny k sestavení odpovídají nativnímu kódu vytvořenému kompilátorem JIT (Just-in-Time), nikoli jazyku MSIL (Microsoft Intermediate Language) vytvořenému kompilátorem sady Visual Studio.

Poznámka:

Pokud chcete plně využít výhod okna zpětného překladu , seznamte se se základy programování v jazyce sestavení. Referenční materiály pro instrukční sady Intel se nacházejí v 2. svazku příručky k architektuře. Tento materiál se obecně vztahuje také na instrukční sady AMD.

Tato funkce je dostupná jenom v případě, že je povolené ladění na úrovni adresy. Není k dispozici pro ladění skriptu nebo SQL.

Kromě pokynů k sestavení může okno demontáže zobrazit následující volitelné informace:

  • Adresa paměti, kde se nachází každá instrukce. U nativních aplikací se jedná o skutečnou adresu paměti. Pro Visual Basic nebo C# se jedná o posun vzhledem k začátku funkce.

  • Zdrojový kód, ze kterého je kód sestavení odvozen.

  • Bajty kódu, tj. bajtové reprezentace skutečného počítače nebo pokynů jazyka MSIL.

  • Názvy symbolů pro adresy paměti.

  • Čísla řádků odpovídající zdrojovému kódu

Instrukce jazyka sestavení se skládají z mnemonics, což jsou zkratky pro názvy instrukcí a symboly pro proměnné, registry a konstanty. Každá instrukce strojového jazyka je reprezentována jedním mnemonikem v assembleru, který je volitelně následován jedním nebo více symboly.

Strojový kód je silně závislý na registrech procesorů nebo, u spravovaného kódu, na registrech modulu Common Language Runtime (CLR). Můžete použít okno disassembleru spolu s oknem registrů, které umožňuje zkoumat obsah registrů.

Pokud chcete zobrazit instrukce strojového kódu v nezpracované číselné podobě, nikoli jako jazyk sestavení, použijte okno Paměť nebo v místní nabídce v okně Disassemblace vyberte Bajty kódu.

Použití okna zpětného překladu

Chcete-li povolit okno zpětného překladu , v části Nástroje>Možnosti>ladění vyberte Povolit ladění na úrovni adresy.

Pokud chcete otevřít okno Disassembly během ladění, vyberte Ladění>Windows>Disassembly nebo stiskněte Ctrl + Alt + D.

Poznámka:

Zobrazená dialogová okna a příkazy v nabídce mohou se lišit od těch, které jsou popsané v tomto článku, v závislosti na aktivním nastavení nebo edici. Pokud chcete změnit nastavení, zvolte Nastavení importu a exportu v nabídce Nástroje. Další informace naleznete v tématu Obnovit všechna nastavení.

Chcete-li zapnout nebo vypnout volitelné informace, klikněte pravým tlačítkem myši v okně Disassembler a aktivujte nebo deaktivujte požadované možnosti v místní nabídce.

Žlutá šipka na levém okraji označuje aktuální bod provádění. V případě nativního kódu bod provádění odpovídá čítači programu procesoru. V tomto umístění se zobrazí další instrukce, která se spustí ve vašem programu.

Stránka nahoru nebo dolů v paměti

Při zobrazení obsahu paměti v okně Paměť nebo v okně Disassemblace můžete pomocí svislého posuvníku posouvat nahoru nebo dolů v paměťovém prostoru.

  1. Pokud chcete posunout stránku dolů (přejít na vyšší adresu paměti), klikněte na svislý posuvník pod posuvným polem.

  2. Pokud chcete stránku posunout nahoru (přesunout na nižší adresu paměti), klikněte na svislý posuvník nad palcem.

    Všimněte si také, že svislý posuvník funguje nestandardním způsobem. Adresní prostor moderního počítače je velmi velký a bylo by snadné ho ztratit tak, že chytíte palec posuvníku a přetáhnete ho na náhodné místo. Z tohoto důvodu je palec "springloaded" a vždy zůstává uprostřed posuvníku. V aplikacích nativního kódu můžete stránkovat nahoru nebo dolů, ale nemůžete se volně posouvat.

    Ve spravovaných aplikacích je demontáž omezena na jednu funkci a můžete se posouvat normálně.

    Všimněte si, že v dolní části okna se zobrazí vyšší adresy. Pokud chcete zobrazit vyšší adresu, musíte se přesunout dolů, ne nahoru.

Přesunutí o jednu instrukci nahoru nebo dolů

  • Klikněte na šipku v horní nebo dolní části svislého posuvníku.