C# - Modifica e continuazione: errore 4001
Aggiornamento: novembre 2007
Messaggio di errore
Se si modifica o elimina un'istruzione attiva in esecuzione, la sessione di debug non potrà continuare quando è attivo Modifica e continuazione.
Editing or deleting an active statement which is being executed will prevent the debug session from continuing while Edit and Continue is enabled
Questo errore viene visualizzato per segnalare che si è tentato di modificare o eliminare l'istruzione attiva, ovvero l'istruzione nella quale è posizionato il puntatore di esecuzione. In Modifica e continuazione non sono supportate modifiche alle istruzioni attive durante il debug.
La causa più comune di questo messaggio di errore è l'uscita da una funzione per tornare al sito di chiamata. Il debugger ritorna alla chiamata del metodo senza però avere ancora eseguito l'istruzione successiva. Fino a quando non viene effettuata questa operazione, la riga che ha chiamato il metodo non può essere modificata. Se si tenta di modificarla, verrà visualizzato questo messaggio di errore.
Si consideri il codice di esempio seguente:
class Program
{
static void Example()
{
System.Console.WriteLine("Example");
}
static void Main()
{
Example();
int a = 5;
}
}
Se si imposta un punto di interruzione nella chiamata a Console.WriteLine, quindi si avvia il debug dell'applicazione e si esce dal metodo Example, il puntatore all'istruzione si troverà ancora in Example e la chiamata non potrà essere modificata.
Per correggere l'errore
Scegliere Annulla dal menu Debug per annullare la modifica, quindi eseguire le istruzioni fino a quando quella che si desidera modificare non è più attiva oppure utilizzare Imposta istruzione successiva per spostare il puntatore all'istruzione.
-oppure-
Terminare la sessione di debug, apportare le modifiche, quindi avviare una nuova sessione di debug.
Vedere anche
Riferimenti
Modifiche al codice supportate (C#)
Modifica e continuazione (Visual C#)