Sdílet prostřednictvím


Upravit a pokračovat (C++)

V projektech C++ můžete použít Opětovné načítání za provozu, dříve označované jako Upravit a pokračovat. Informace o omezeních úprav a pokračování najdete v tématu Podporované změny kódu (C++ ).

V projektech C++ můžete použít příkaz Upravit a pokračovat. Informace o omezeních úprav a pokračování najdete v tématu Podporované změny kódu (C++ ).

Možnost kompilátoru /Zo (vylepšit optimalizované ladění) přidá do souborů .pdb (symbol) další informace o binárních souborech zkompilovaných bez možnosti /Od (Disable (Debug)).

/Zo zakáže funkci Upravit a pokračovat. Viz Postupy: Ladění optimalizovaného kódu.

Povolení nebo zakázání možnosti Upravit a Pokračovat

Pokud provádíte úpravy kódu, který nechcete použít během aktuální relace ladění, 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 Úpravy a pokračování jazyka C++ v sadě Visual Studio 2015 Update 3.

  1. Pokud jste v relaci ladění, zastavte ladění (Shift + F5).

  2. Otevřete nástroje>Možnosti>ladění.NET>/C++ Opětovné načítání za provozu.

  3. Pokud chcete povolit funkci Upravit a pokračovat, vyberte jednu nebo obě z následujících možností.

    • Při ladění povolte Opětovné načítání za provozu a upravit a pokračovat. Povolí Opětovné načítání za provozu při spuštění s připojeným ladicím programem (F5).

    • Povolte Opětovné načítání za provozu při spuštění bez ladění. Povolí Opětovné načítání za provozu při spuštění bez připojeného ladicího programu (Ctrl+F5).

    Změna těchto nastavení ovlivní všechny projekty, na které pracujete. Po změně nastavení nemusíte aplikaci znovu sestavit. Pokud aplikaci sestavíte z příkazového řádku nebo ze souboru pravidel, ale ladíte ji v prostředí sady Visual Studio, můžete i přesto použít příkaz Upravit a pokračovat, pokud nastavíte možnost /ZI .

  1. Pokud jste v relaci ladění, zastavte ladění (Shift + F5).

  2. V nabídce Nástroje zvolte Možnosti.

  3. V dialogovém okně Možnosti vyberte Obecné ladění>.

  4. Pokud chcete povolit, vyberte Povolit úpravy a pokračovat. Pokud ho chcete zakázat, zrušte zaškrtnutí políčka.

  5. 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é znovu sestavit aplikaci. Pokud aplikaci sestavíte z příkazového řádku nebo ze souboru pravidel, ale ladíte ji v prostředí sady Visual Studio, můžete i přesto použít příkaz Upravit a pokračovat, pokud nastavíte možnost /ZI .

Explicitní použití změn kódu

V jazyce C++ můžou úpravy a pokračování použít změny kódu dvěma způsoby. Změny kódu lze použít implicitně, když zvolíte spouštěcí příkaz nebo explicitně pomocí příkazu Použít změny kódu.

Když explicitně použijete změny kódu, zůstane program v režimu přerušení – nedojde k žádnému spuštění.

  • Pokud chcete změny kódu použít explicitně, v nabídce Ladění zvolte Použít změny kódu.

Jak zastavit změny kódu

Zatímco Funkce Upravit a Pokračovat probíhá v procesu použití změn kódu, můžete operaci zastavit.

Pokud chcete přestat používat změny kódu:

  • V nabídce Ladění zvolte Zastavit použití změn kódu.

    Tato položka nabídky je viditelná pouze v případě, že se použijí změny kódu.

    Pokud zvolíte tuto možnost, nebude potvrzena žádná změna kódu.

Resetování bodu provádění

Některé změny kódu můžou způsobit, že se bod provádění přesune do nového umístění, když změny použije funkce Upravit a Pokračovat. 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 tom, kdy se změní bod 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 Nastavit další příkaz . Další informace najdete v tématu Nastavení dalšího příkazu, který se má provést.

Práce se zastaralým kódem

V některých případech nemůže upravit a pokračovat okamžitě použít změny kódu u spustitelného souboru, ale může být možné 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 přidáte do zásobníku volání 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 se změny nedají použít. Zastaralý kód se zobrazí jako dočasné okno zdrojového souboru v samostatném zdrojovém okně s názvem, například enc25.tmp. Upravený zdroj se bude dál zobrazovat v původním okně zdroje. Pokud se pokusíte upravit zastaralý kód, zobrazí se zpráva s upozorněním.