Condividi tramite


Modifica e continuazione (C++)

È possibile usare Ricaricamento rapido, precedentemente denominata Modifica e continuazione, nei progetti C++. Per informazioni sulle limitazioni di Modifica e continuazione, vedere Modifiche al codice supportate (C++ ).

È possibile usare Modifica e continuazione nei progetti C++. Per informazioni sulle limitazioni di Modifica e continuazione, vedere Modifiche al codice supportate (C++ ).

L'opzione del compilatore /Zo (Ottimizza debug ottimizzato) aggiunge informazioni aggiuntive ai file con estensione pdb (simbolo) per i file binari compilati senza l'opzione /Od (Disabilita (Debug).

/Zo disabilita Modifica e continuazione. Vedere Procedura: Eseguire il debug di codice ottimizzato.

Abilitare o disabilitare Modifica e continuazione

È consigliabile disabilitare la chiamata automatica di Modifica e continuazione se si apportano modifiche al codice che non si vuole applicare durante la sessione di debug corrente. È anche possibile riabilitare la chiamata automatica di Modifica e continuazione.

Importante

Per le impostazioni di compilazione necessarie e altre informazioni sulla compatibilità delle funzionalità, vedere Modifica e continuazione di C++ in Visual Studio 2015 Update 3.

  1. Se si è in una sessione di debug, arrestare il debug (MAIUSC + F5).

  2. Aprire Opzioni>strumenti>Debug.NET>/C++ Ricaricamento rapido.

  3. Selezionare una o entrambe le opzioni seguenti per abilitare Modifica e Continuazione.

    • Abilitare Ricaricamento rapido e Modifica e Continua durante il debug. Abilita Ricaricamento rapido quando si inizia con il debugger collegato (F5).

    • Abilitare Ricaricamento rapido all'avvio senza eseguire il debug. Abilita Ricaricamento rapido all'avvio senza il debugger collegato (CTRL+F5).

    La modifica di queste impostazioni influisce su tutti i progetti su cui si lavora. Non è necessario ricompilare l'applicazione dopo aver modificato un'impostazione. Quando si compila l'applicazione dalla riga di comando o da un makefile, ma si esegue il debug nell'ambiente Visual Studio, è comunque possibile usare Modifica e continuazione se si imposta l'opzione /ZI.

  1. Se si è in una sessione di debug, arrestare il debug (MAIUSC + F5).

  2. Scegliere Opzioni dal menu Strumenti.

  3. Nella finestra di dialogo Opzioni selezionare Debug > generale.

  4. Per abilitare, selezionare Abilita modifica e continuazione. Per disabilitare, deselezionare la casella di controllo.

  5. Nel gruppo Modifica e continuazione selezionare o deselezionare la casella di controllo Abilita Modifica e continuazione nativo .

    La modifica di questa impostazione influisce su tutti i progetti attivi. Non è necessario ricompilare l'applicazione dopo la modifica di questa impostazione. Quando si compila l'applicazione dalla riga di comando o da un makefile, ma si esegue il debug nell'ambiente Visual Studio, è comunque possibile usare Modifica e continuazione se si imposta l'opzione /ZI.

Applicare le modifiche al codice in modo esplicito

In C++, Modifica e continuazione possono applicare modifiche al codice in due modi. in modo implicito, quando si sceglie un comando di esecuzione, o in modo esplicito, quando si usa il comando Applica modifiche del codice .

Quando si applicano modifiche al codice in modo esplicito, il programma rimane in modalità di interruzione e non viene eseguito.

  • Per applicare le modifiche al codice in modo esplicito, nel menu Debug scegliere Applica modifiche del codice.

Come interrompere l'applicazione delle modifiche al codice

In Modifica e continuazione è possibile scegliere di interrompere l'applicazione delle modifiche al codice.

Per interrompere l'applicazione delle modifiche al codice:

  • Nel menu Debug scegliere Interrompi applicazione modifiche del codice.

    Questa voce di menu viene visualizzata solo durante l'applicazione delle modifiche al codice.

    Se si sceglie questa opzione, non verrà completata nessuna delle modifiche del codice.

Reimpostare il punto di esecuzione

Alcune modifiche al codice applicate in modalità Modifica e continuazione possono causare uno spostamento automatico del punto di esecuzione in una nuova posizione. Nonostante il punto di esecuzione venga collocato nel modo più accurato possibile, in alcuni casi il risultato potrebbe non essere corretto.

In C++, una finestra di dialogo indica quando cambia il punto di esecuzione. Si consiglia di verificare che la posizione sia corretta prima di continuare con il debug. In caso negativo, usare il comando Imposta istruzione successiva . Per altre informazioni, vedere Impostare l'istruzione successiva da eseguire.

Usare il codice non aggiornato

In alcuni casi la funzionalità Modifica e continuazione non consente di applicare immediatamente modifiche all'eseguibile, ma può apportare automaticamente tali modifiche in un secondo momento se si continua il debug. Ciò si verifica quando si modifica una funzione che chiama la funzione corrente o si aggiungono più di 64 byte di nuove variabili ad una funzione presente nello stack di chiamate.

In questi casi, il debugger continua a eseguire il codice originale, fino a quando non è possibile applicare le modifiche. Il codice non aggiornato è visualizzato in una finestra del file di origine temporanea di una finestra di origine distinta, caratterizzata da un titolo simile a enc25.tmp. L'origine modificata continua ad essere visualizzata nella finestra di origine originale. Se si tenta di modificare il codice non aggiornato, viene visualizzato un messaggio di avviso.