Procedura: impostare l'istruzione successiva
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
Questa funzionalità non è disponibile per il debug Transact-SQL.
Mediante il debugger di Visual Studio è possibile spostare il punto di esecuzione per impostare la successiva istruzione di codice da eseguire. La posizione dell'istruzione successiva da eseguire è contrassegnata da una freccia gialla visualizzata sul margine di una finestra di origine o di una finestra Disassembly. Mediante lo spostamento della freccia, è possibile ignorare un segmento di codice oppure tornare a una riga eseguita precedentemente. È possibile utilizzare questa opzione in alcune situazioni, ad esempio quando si desidera ignorare una sezione di codice che contiene un bug noto.
Attenzione |
---|
Quando si imposta l'istruzione successiva, il contatore del programma passa direttamente alla nuova posizione. Utilizzare questo comando con cautela: |
Le istruzioni comprese tra il vecchio e il nuovo punto di esecuzione non verranno eseguite.
Se si sposta all'indietro il punto di esecuzione, le istruzioni comprese tra questo e il vecchio punto di interruzione non verranno annullate.
Lo spostamento dell'istruzione successiva in corrispondenza di un'altra funzione o ambito provoca in genere un errore dello stack di chiamate e, conseguentemente, un errore o un'eccezione di runtime. Se si sposta l'istruzione successiva in corrispondenza di un altro ambito, verrà visualizzata una finestra di dialogo contenente un avviso e in cui si può scegliere di annullare l'operazione. In Visual Basic non è possibile spostare l'istruzione successiva in corrispondenza di un altro ambito o di un'altra funzione.
Se in C++ nativo sono attivati i controlli runtime, l'impostazione dell'istruzione successiva può causare la generazione di un'eccezione quando l'esecuzione raggiunge la fine del metodo.
Quando Modifica e continuazione è attivata, Imposta istruzione successiva avrà esito negativo se sono state effettuate modifiche che Modifica e continuazione non è in grado di rimappare immediatamente. Ad esempio questo può accadere se è stato modificato del codice all'interno di un blocco catch. Quando si verifica questa situazione viene visualizzato un messaggio di errore simile al seguente: "Impossibile impostare l'istruzione successiva in questo percorso. Operazione non supportata. Errore sconosciuto: numero errore"
Nota
Nel codice gestito non è possibile spostare l'istruzione successiva in presenza delle seguenti condizioni:
L'istruzione successiva è inclusa in un metodo diverso da quello dell'istruzione corrente.
Il debug è stato avviato utilizzando il debug JIT.
È in corso la rimozione di uno stack di chiamate.
È stata generata un'eccezione System.StackOverflowException or System.Threading.ThreadAbortException.
Non è possibile impostare l'istruzione successiva mentre l'applicazione è in esecuzione. Per impostare l'istruzione successiva, è necessario che il debugger sia in modalità di interruzione. Per ulteriori informazioni, vedere Interruzione dell'esecuzione.
Nota
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Per impostare l'istruzione successiva da eseguire
In una finestra di origine fare clic sulla freccia gialla e trascinarla nella posizione in cui si desidera impostare l'istruzione successiva all'interno dello stesso file di origine
- oppure -
In una finestra di origine fare clic con il pulsante destro del mouse sull'istruzione che si desidera eseguire successivamente e scegliere Imposta istruzione successiva.
Nella finestra Disassembly fare clic con il pulsante destro del mouse sull'istruzione in linguaggio assembly che si desidera eseguire successivamente e scegliere Imposta istruzione successiva.