Modifier & Continuer (C#) : erreur 4001
La modification ou la suppression d'une instruction active en cours d'exécution empêche la session de débogage de se poursuivre tant que Modifier & Continuer est activé.
Cette erreur indique que vous avez essayé de modifier ou supprimer l'instruction active, celle sur laquelle se trouve le pointeur d'exécution. Modifier & Continuer ne prend pas en charge les modifications apportées à l'instruction active pendant le débogage.
La cause la plus courante de message est un pas à pas sortant pour sortir d'une fonction et revenir au site d'appel. Le débogueur retourne à l'appel à la méthode, mais n'a pas encore exécuté de pas à pas détaillé de l'instruction suivante. Tant que l'exécution pas à pas n'est pas terminée, la ligne qui a appelé la méthode ne peut pas être modifiée. Si vous tentez de la modifier, ce message s'affiche.
Considérons par exemple le code suivant :
class Program
{
static void Example()
{
System.Console.WriteLine("Example");
}
static void Main()
{
Example();
int a = 5;
}
}
Si vous définissez un point d'arrêt sur l'appel Console.WriteLine, puis commencez à déboguer l'application et sortir pas à pas de la méthode Example, le pointeur d'instruction se trouve encore dans Example, l'appel ne peut donc pas être modifié.
Pour corriger cette erreur
Choisissez Annuler dans le menu Déboguer pour annuler la modification, puis déboguez pas à pas jusqu'à ce que l'instruction que vous voulez modifier ne soit plus active ou utilisez Définir l'instruction suivante pour déplacer le pointeur d'instruction.
ou
Arrêtez la session de débogage, procédez à vos modifications et démarrez une nouvelle session de débogage.
Voir aussi
Référence
Modifications de code prises en charge (C#)
Modifier & Continuer (Visual C#)