Partager via


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#)

Autres ressources

Erreurs et avertissements de Modifier & Continuer (C#)