110 votes

Modifier et poursuivre : "Les modifications ne sont pas autorisées lorsque..."

Même si je crée un projet WinForms propre, Edit and Continue ne fonctionne pas et me donne l'erreur :

Les modifications ne sont pas autorisées lorsque le débogueur a été attaché à un processus déjà en cours d'exécution ou que le code en cours de débogage a été optimisé au moment de la construction ou de l'exécution.

  1. L'option Edit and Continue est cochée dans Tools Options Debugging.
  2. L'optimisation n'est pas activée.
  3. Il semble qu'il n'y ait pas de profileur géré mis en place.
  4. Je fonctionne en mode débogage
  5. Je fonctionne avec un processeur x64 et Windows XP 32 bits, mais le fait de définir la cible de la plate-forme sur x86 plutôt que sur AnyCpu ne m'aide pas.
  6. La réparation de l'installation de Visual Studio n'aide pas.

J'ai aussi trouvé cet article sur le site MSDN :

Scénarios non pris en charge

La fonction Modifier et Continuer n'est pas disponible dans les scénarios de débogage suivants :

  • Débogage sous Windows 98.

  • Débogage en mode mixte (natif/géré).

  • Débogage SQL.

  • Débogage d'une décharge de Dr. Watson.

  • Modification du code après une exception non gérée, lorsque l'option "Unwind the call stack on unhandled exceptions" n'est pas sélectionnée.

  • Déboguer une application d'exécution embarquée.

  • Déboguer une application avec Attach to plutôt que de lancer l'application avec Start du menu Debug.

  • Débogage du code optimisé.

  • Débogage du code géré lorsque la cible est une application 64 bits. Si vous souhaitez utiliser l'option Edit and Continue, vous devez définir la cible sur x86. (Propriétés du projet, onglet Compilation, paramètre Compilateur avancé.).

  • Débogage d'une ancienne version de votre code après l'échec de la construction d'une nouvelle version en raison d'erreurs de construction.

Mais je peux répondre "non" à chaque élément de cette liste.

Il fonctionnait auparavant, mais il y a quelques jours, il a cessé de fonctionner, et je ne sais pas ce qui pourrait en être la raison.

2 votes

Fonctionnez-vous en mode "Release" ? Fonctionnez-vous sur X64 ?

0 votes

Est-ce que la méthode que vous essayez d'E&C est vraiment courte ? Peut-être qu'elle a été inlined (bien que je pense que l'inlining ne se produit pas sur le débogage).

0 votes

Cela ne fonctionne sur aucune méthode, qu'elle soit très courte ou très longue.

23voto

viggity Points 5342

Si vous déboguez une application ASP.NET, allez dans Propriétés > Web > Serveurs, et assurez-vous que la case "activer et continuer" est cochée sous Utiliser le serveur de développement Visual Studio.

3 votes

Il faut également appuyer sur Pause pendant le débogage, pour pouvoir ensuite modifier le code.

0 votes

Si j'utilise un iis local, "activer et continuer" est souhaitable.

22voto

Pejvan Points 376

J'ai finalement réussi à résoudre le problème : DÉSINSTALLER Gallio

Gallio semble avoir pas mal d'aspérités et il vaut mieux ne pas utiliser MbUnit 3.0 mais utiliser le framework MbUnit 2.0 mais utiliser le runner gallio, que vous exécutez sans l'installer à partir du programme d'installation (qui a aussi installé un plugin visual studio).

Par ailleurs, j'ai rencontré ce problème même après avoir "désactivé" le plugin Gallio. Seule la désinstallation a résolu le problème.

PS. Modifié par nightcoder :
Dans mon cas désactivation de l'isolateur TypeMock (framework mocking) enfin a aidé ! Edit & Continue fonctionne maintenant ! !!

Voici la réponse du support TypeMock :

Après avoir examiné de plus près le montage et continuer, et après en avoir discuté avec Microsoft, nous sommes arrivés à la à la conclusion qu'il ne peut être résolu pour Isolator. Isolator met en œuvre un CLR profiler, et selon nos recherche, une fois qu'un profileur CLR est activé et attaché, editer et continue est automatiquement désactivé. Je suis désolé de dire que cela n'est plus considéré comme un bug, mais plutôt comme une mais plutôt une limitation d'Isolator.

11voto

Amer Points 1

J'ai eu le même problème. J'ai même réinstallé VS 2008 mais le problème n'a pas disparu. Cependant, lorsque j'ai supprimé tous les points d'arrêt, le système a commencé à fonctionner.

Debug->Delete All Breakpoints

Je pense que cela se produisait parce que j'avais supprimé une page aspx qui avait des points d'arrêt dans son code, puis j'ai créé une autre page avec le même nom. Cela a probablement semé la confusion dans VS 2008.

5voto

JayW Points 161

Aucune des solutions ci-dessus n'a fonctionné pour moi (sur une machine 64x).

Finalement, j'ai cliqué sur 'advanced compiler settings' y NON VÉRIFIÉ 'enable optimizations et je peux maintenant parcourir le code et le modifier tout en déboguant.

2 votes

Il semble que ce soit uniquement Visual Basic : msdn.microsoft.com/fr/us/library/07bysfz2%28v=vs.100%29.aspx

0 votes

Cela fonctionne pour moi ! VS2013, VB.Net, Frame 3.5

1 votes

Et où sont ces paramètres ?

4voto

Adam Points 1

Si votre problème concerne une application ASP.NET, assurez-vous que l'option "edit and continue" est activée dans l'onglet web (vs2010). Il existait également un paramètre distinct pour le débogage ASP.NET dans les versions antérieures.

Regards,

Adam.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X