Upravit a pokračovat (C++)
V projektech jazyka C++ můžete použít příkaz Upravit a pokračovat. Informace o omezeních funkce Upravit a pokračovat najdete v tématu Podporované změny kódu (C++).
Další informace o vylepšeních Visual Studio 2015 Update 3 najdete v tématu Upravit a pokračovat v C++ v Visual Studio 2015 Update 3.
Možnost kompilátoru /Zo (vylepšené optimalizované ladění), která byla zavedena v aktualizaci Visual Studio 2013 Update 3, přidá do souborů .pdb (symbol) další informace pro binární soubory kompilované bez možnosti /Od (Zakázat (ladění).)
/Zo zakáže funkci Upravit a pokračovat. Viz Postupy: Ladění optimalizovaného kódu.
Povolení nebo zakázání funkce Upravit a pokračovat
Pokud upravujete kód, který nechcete použít během aktuální ladicí relace, můžete zakázat automatické vyvolání funkce Upravit a pokračovat. Můžete také znovu povolit automatické úpravy a pokračovat.
Důležité
Požadovaná nastavení sestavení a další informace o kompatibilitě funkcí najdete v tématu Upravit a pokračovat v C++ v Visual Studio 2015 Update 3.
Pokud jste v relaci ladění, zastavte ladění (Shift + F5).
V nabídce Nástroje zvolte Možnosti.
V dialogovém okně Možnosti vyberte Ladění > Obecné.
Pokud ji chcete povolit, vyberte Povolit upravit a pokračovat. Pokud ho chcete zakázat, zrušte zaškrtnutí tohoto políčka.
Ve skupině Upravit a pokračovat zaškrtněte nebo zrušte zaškrtnutí políčka Povolit nativní úpravy a pokračovat.
Změna tohoto nastavení ovlivní všechny projekty, na které pracujete. Po změně tohoto nastavení není nutné aplikaci znovu sestavovat. Pokud sestavíte aplikaci z příkazového řádku nebo ze souboru pravidel, ale ladíte ji v prostředí Visual Studio, můžete použít příkaz Upravit a pokračovat, i když nastavíte možnost /ZI.
Jak použít změny kódu explicitně
V jazyce C++ mohou funkce Upravit a pokračovat aplikovat změny kódu dvěma způsoby. Změny kódu je možné použít implicitně, když zvolíte příkaz pro spuštění nebo explicitně pomocí příkazu Použít změny kódu.
Když změny kódu použijete explicitně, program zůstane v režimu přerušení – k žádnému spuštění ne dojde.
- Pokud chcete změny kódu použít explicitně, zvolte v nabídce Ladit možnost Použít změny kódu.
Jak zastavit změny kódu
Zatímco operace Upravit a pokračovat se používá ke změnám kódu, můžete operaci zastavit.
Ukončení používání změn kódu:
V nabídce Ladit zvolte Ukončit použití změn kódu.
Tato položka nabídky je viditelná jenom v případě, že se používají změny kódu.
Pokud zvolíte tuto možnost, žádné změny kódu se neschová.
Jak resetovat bod provádění
Některé změny kódu mohou způsobit přechod bodu provádění na nové umístění, když funkce Upravit a pokračovat použije změny. Funkce Upravit a pokračovat umístí bod provádění co nejpřesněji, ale výsledky nemusí být ve všech případech správné.
V jazyce C++ vás dialogové okno informuje o změně bodu provádění. Než budete pokračovat v ladění, měli byste ověřit správnost umístění. Pokud není správná, použijte příkaz Set Next Statement (Nastavit další příkaz). Další informace najdete v tématu Set the next statement to execute.
Jak pracovat se zastaralým kódem
V některých případech funkce Upravit a pokračovat nemůže použít změny kódu u spustitelného souboru okamžitě, ale může být schopna změny kódu použít později, pokud budete pokračovat v ladění. K tomu dochází v případě, že upravíte funkci, která volá aktuální funkci, nebo pokud do funkce v zásobníku volání přidáte více než 64 bajtů nových proměnných.
V takových případech ladicí program pokračuje v provádění původního kódu, dokud není možné změny použít. Zastaralý kód se zobrazí jako dočasné okno zdrojového souboru v samostatném okně zdroje s názvem, například enc25.tmp . Upravovaný zdroj se bude dál zobrazovat v původním okně zdroje. Pokud se pokusíte upravit zastaralý kód, zobrazí se zpráva upozornění.