Sdílet prostřednictvím


Optimalizace a ladění JIT

Při ladění spravované aplikace aplikace Visual Studio potlačí ve výchozím nastavení optimalizaci kódu za běhu (JIT).Potlačení optimalizace JIT znamená, že ladíte neoptimalizovaný kód.Kód se spustí o něco pomaleji, protože není optimalizován, ale využití ladění je mnohem důkladnější.Ladění optimalizovaného kódu je těžší a doporučuje se pouze, pokud narazíte na chybu, která se vyskytuje v optimalizovaném kódu, ale nelze ji reprodukovat v neoptimalizované verzi.

Optimalizace JIT je v sadě Visual Studio ovládána možností Potlačit optimalizaci JIT (za běhu) pro načtení modulu.Tuto možnost můžete najít na stránce Obecné v uzlu Ladění v dialogovém okně Možnosti.

Zrušíte-li zaškrtnutí možnosti Potlačit optimalizaci JIT (za běhu) pro načtení modulu, můžete ladit optimalizovaný kód JIT, ale možnosti ladění mohou být omezeny, protože optimalizovaný kód neodpovídá zdrojovému kódu.V důsledku toho okna ladicího programu, jako je okno Místní hodnoty a Automatické hodnoty, nemusí zobrazit takové množství informací, jako kdybyste ladili neoptimalizovaný kód.

Další důležitý rozdíl se týká ladění s Jen můj kód.Pokud ladíte pomocí funkce Pouze můj kód, ladicí program bude považovat optimalizovaný kód za kód nepatřící uživateli, který nebude zobrazen při ladění.V důsledku toho pokud ladíte optimalizovaný kód JIT, budete pravděpodobně chtít funkci Pouze vlastní kód vypnout.Další informace, viz Omezit krokování na Pouze můj kód.

Mějte na paměti, že možnost Potlačení optimalizace JIT při načtení modulu potlačuje optimalizaci kódu při načtení modulů.Pokud připojujete k procesu, který je již spuštěn, může obsahovat kód, který je již načten, zkompilován JIT kompilátorem a optimalizován.Možnost Potlačit optimalizace JIT při načtení modulu nemá na takový kód žádný vliv, i když bude mít vliv na moduly, které jsou načteny po připojení.Kromě toho možnost Potlačit optimalizaci JIT (za běhu) pro načtení modulu neovlivňuje moduly, například WinForms.dll, které jsou vytvořeny pomocí nástroje NGEN.

Viz také

Koncepty

Zastavení, pozastavení, krok, spuštění prostřednictvím kódu a ukončení ladění v sadě Visual Studio

Proces spravovaného spouštění

Další zdroje

Ladění spravovaného kódu

Připojení ke spuštěným procesům pomocí ladicího programu sady Visual Studio