Modifica e continuazione (Visual C++)
In questo articolo vengono descritte le procedure per usare Modifica e continuazione nei progetti Visual C++. Per informazioni sulle limitazioni di Modifica e continuazione, vedere Modifiche e limitazioni del codice supportato (C++).
Avviso
L'opzione del compilatore /Zo (Enhance Optimized Debugging) introdotta in Visual Studio Update 3 aggiunge altre informazioni ai file PDB (symbol) per i file binari compilati senza l'opzione /Od (Disable (Debug)).
/Zo disabilita Modifica e continuazione.Vedere Procedura: eseguire il debug di codice ottimizzato.
Contenuto dell'articolo
Abilitare o disabilitare la chiamata automatica di Modifica e continuazione
Come applicare modifiche al codice in modo esplicito
Come interrompere l'applicazione delle modifiche al codice
Come reimpostare il punto di esecuzione
Come usare il codice non aggiornato
Abilitare o disabilitare la chiamata automatica di Modifica e continuazione
È possibile disabilitare la chiamata automatica della funzionalità Modifica e continuazione da parte dei comandi Continua, Vai e Passaggio. Tale operazione può essere necessaria qualora si stiano eseguendo modifiche al codice che non si desidera applicare durante la sessione di debug corrente. È inoltre possibile riabilitare la chiamata automatica di Modifica e continuazione.
Scegliere Opzioni e impostazioni dal menu Debug.
Nella finestra di dialogo Opzioni, selezionare la categoria Modifica e continuazione.
Nel gruppo Modifica e continuazione selezionare o deselezionare la casella di controllo Richiama dai comandi di debug.
Nota
È inoltre possibile scegliere che venga visualizzato un messaggio che chieda conferma prima che vengano applicate modifiche al codice prima dell'esecuzione di un comando di debug.Se si desidera che venga visualizzato questo messaggio, selezionare la casella di controllo Chiedi conferma.
Poiché Richiama dai comandi di debug è un'opzione del menu Strumenti, la modifica di questa impostazione avrà effetto su tutti i progetti sui cui si sta lavorando. Non è necessario ricompilare l'applicazione dopo la modifica di questa impostazione. L'impostazione può infatti essere modificata anche durante il debug. Quando si compila l'applicazione dalla riga di comando o da un makefile, ma si esegue il debug nell'ambiente Visual C++, è comunque possibile usare Modifica e continuazione se si imposta l'opzione /ZI.
Contenuto dell'articolo
Come applicare modifiche al codice in modo esplicito
In Visual C++ Modifica e continuazione consente di 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.
Contenuto dell'articolo
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.
Contenuto dell'articolo
Come 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 Visual C++ la modifica del punto di esecuzione viene segnalata tramite una finestra di dialogo. 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.
Contenuto dell'articolo
Come 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 tali casi, il debugger continua a eseguire il codice originale, denominato codice non aggiornato, 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.
Contenuto dell'articolo