Le projet Visual Studio 2015 ne s'exécute plus en mode débogage

95

C'est ce que j'obtiens même lorsque je cours dans la configuration de débogage:

La façon dont je l'ai montré était en activant "Just My Code" et en avertissant s'il n'y avait pas de code utilisateur au lancement. C'est quelque chose qui est arrivé récemment à notre projet, et je ne suis pas sûr de ce que nous avons fait pour provoquer cela. Mais je n'ai pas pu résoudre ce problème. Les points d'arrêt ne se déclenchent pas et la surveillance rapide donne des résultats étranges.

J'ai essayé de googler le problème, mais aucune des solutions standard «les points d'arrêt ne se déclenchent» n'a fonctionné. Je n'ai plus d'idées.

J'ai vérifié le gestionnaire de configuration et chaque projet est également défini sur Debug.

Entrez la description de l'image ici

J'ai désactivé "Activer les optimisations" et je n'obtiens plus la boîte de dialogue "Vous déboguez une version de version". Il s'exécute et s'arrête à nouveau sur les points d'arrêt! Cependant, la fenêtre de sortie affiche ceci au démarrage:

Les symboles du module 'Navigo.exe' n'ont pas été chargés.

  1. Utilisez une configuration de build de débogage ou désactivez l'option de débogage «Activer juste mon code».
  2. Vérifiez les paramètres «Symboles» sous les options de débogage.

Cela résout donc mon problème principal de ne plus pouvoir utiliser les points d'arrêt et le popup. Ce qui est étrange car je pensais que vous aviez besoin de symboles à charger pour que les points d'arrêt fonctionnent. Alors, comment les points d'arrêt peuvent-ils fonctionner si les symboles ne sont pas chargés? C'est peut-être juste un mauvais message?

Sen
la source
Donc, en un mot, vous avez eu une sorte de problème que nous ne connaissons pas. Et vous avez modifié les paramètres globaux du débogueur et vous avez maintenant deux problèmes. Remettez tout comme il était et décrivez votre premier problème.
Hans Passant
@HansPassant c'est le problème d'origine. Cela semble avoir commencé à se produire une fois que nous avons mis à niveau pour utiliser VS2015. J'avais annulé l'une de mes modifications "Will this work" avant de poster. Décocher "Optimiser le code" semble avoir aidé. Voir la mise à jour 2 en question pour plus de détails.
Sen
Pouvez-vous expliquer quelle est votre solution? quels sont les projets, dans quelles langues sont-ils, que ciblent-ils, quel est le projet de démarrage?
Lucian Wischik
Activez à nouveau Just my Code. Vous essayez de déboguer des assemblys référencés dont vous n'avez pas le code source?
Igor Quirino

Réponses:

95

Utilisez le Gestionnaire de configuration pour vérifier quels sont les paramètres réels de la configuration de débogage - c'est dans le menu BuildConfiguration Manager ... - au cas où ils seraient configurés pour utiliser Release :

Panneau de configuration

Assurez-vous également que le projet définit correctement DEBUG et que "Optimiser le code" n'est pas coché:

Propriétés

stuartd
la source
2
Je viens de vérifier là-bas et ils sont tous réglés sur Debug. J'ai mis à jour le message avec une capture d'écran. D'autres idées?
Sen
1
édité ma question. Le code d'optimisation a été coché, la décocher semble avoir aidé. Mais voir la question pour plus de détails.
Sen
1
@Sen On dirait que quelqu'un a mal configuré vos paramètres de compilation de débogage. Une version de débogage avec un code optimisé n'a aucun sens. En ce qui concerne le problème des symboles: peut-être que quelqu'un les a désactivés pour la version de débogage? Cliquez sur le bouton "Avancé" dans les paramètres de construction et vérifiez que "Informations de débogage" est défini sur "complet" dans la version de débogage.
cremor
6
La décoche du code Optimize a fait l'affaire. Je ne sais pas comment ça s'est passé vérifié pour commencer, mais une fois que c'était éteint, tout semblait recommencer à fonctionner. Tous les autres paramètres de débogage étaient corrects, c'était le seul qui ne fonctionnait pas. Je ne reçois plus le message "Symboles non chargés".
Sen
94

Cela m'est également arrivé sur quelques projets. J'ai examiné mes paramètres de construction, comme suggéré par stuartd . Cependant, "Optimiser le code" n'était pas activé dans mes paramètres de construction. Je l'ai donc activé et enregistré le projet. Ensuite, je l'ai décoché et sauvegardé à nouveau. Problème résolu.

Il y a une sorte de bogue qui fait passer l' --optimize+indicateur au débogueur. L'activer puis le désactiver est une solution simple jusqu'à ce que le bogue soit corrigé.

Adam J.
la source
1
J'ai déjà vu cela dans IntelliJ IDE, mais jamais dans Visual Studio jusqu'à présent. Curieusement, cela a fonctionné pour moi aussi.
ZaneDarken
1
Mise à jour 2017: ce problème persiste dans Visual Studio 2015 Update 3. La réponse acceptée n'a pas résolu le problème; cette réponse a fait.
Lews Therin
1
Cette réponse a également corrigé mon environnement de débogage. Merci !
bob.mazzo
1
Hou la la! J'ai eu ce problème exact et cela a fonctionné pour moi aussi. VS 2015 U3. Unbelievable ...
AbeyMarquez
1
Communauté VS2017, toujours avec ce problème. merci pour cette solution
William Borgo
20

Cela a commencé à m'arriver après avoir appliqué la mise à jour 1. Les projets existants ont commencé à le montrer, et je peux le reproduire avec un tout nouveau projet. Toute la configuration est définie sur DEBUG et Optimiser n'est pas vérifié.

Le kicker est que l'exécution du projet la première fois (ou après un nettoyage) s'exécute très bien, sans aucun message. L'arrêt, puis la réexécution du projet (note - le projet n'est pas rebuiblt ) affichera la boîte de dialogue.

La seule solution est de désactiver l' option Just My Code - qui semble un hack, comme c'était le cas avant la mise à jour 1 sans aucun problème.

John T
la source
6
Pour ce que cela vaut, le support Microsoft a reproduit le problème et étudie. Dès que j'entends, je ferai rapport / réponse.
John T
2
Même situation et symptômes ici, apparus après la mise à jour 1 de VS2015. L'exécution d'un nettoyage avant chaque session de débogage peut être utilisée comme une solution de contournement car en effet, cela fonctionne correctement la première fois après cela. Faire juste une reconstruction n'est pas suffit , le nettoyage est nécessaire.
AronVanAmmers
2
Le mot de Microsoft est qu'il s'agit d'un problème connu (à l'origine, il est allé à l'équipe de débogage, mais il a été déterminé qu'il s'agissait d'un problème de construction, et il est maintenant entre les mains de l'équipe du système de projet. Il existe d'autres bogues ouverts sur ce problème, et c'est classé Priorité 1, devrait donc être sur la bonne voie pour la prochaine mise à jour. Bien que, comme on pouvait s'y attendre, aucune promesse ne puisse être faite quant à la date de sa sortie (ou à ce qui est réellement dans la mise à jour). Donc, c'est connu et est en cours Au moins, la désactivation de l'option «Activer juste mon code» dans les options générales de débogage semble être une solution pour le moment.
John T
Y a-t-il un lien vers ce problème afin que nous puissions suivre ses progrès?
SkyrawrCode
13

Si aucune des solutions mentionnées ne vous a aidé, vérifiez AssemblyInfo.cs de votre projet pour une application DebuggableAttribute explicite. Il semble qu'il remplace les options de débogage / publication du compilateur.

J'avais cette ligne dans le fichier dans mon cas (projet hérité, aucune idée de comment il est arrivé là). Le supprimer a résolu le problème:

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
Dmitry Rotay
la source
2
Merci pour cela. Je travaille sur un projet où mon client a perdu son code source d'origine, j'ai donc dû le générer à l'aide d'un décompilateur. Ma seule hypothèse est que le décompilateur a mis cette ligne.
jebar8
Ouais, ça pourrait aussi être la raison dans mon cas. Merci d'avoir partagé.
Dmitry Rotay
9

J'ai également rencontré ce problème. Le correctif qui a fonctionné était de simplement nettoyer ( Build > Clean Solution) et reconstruire ( Build > Rebuild Solution) mes projets.

Thijs
la source
Peux-tu élaborer? Par exemple, comment faire (commandes de menu à invoquer, etc.)?
Peter Mortensen
5

Aucune des réponses précédentes n'a fonctionné pour moi. Le redémarrage d' IIS l'a corrigé.

wezten
la source
3

Juste en ajoutant une note d' accompagnement à la réponse de stuartd :

Assurez-vous de vérifier tous les projets dépendants pour les mêmes paramètres de construction. Vous obtiendrez la même invite de message si votre projet principal a les paramètres appropriés, mais pas vos projets dépendants. Rétrospectivement, cela a du sens, mais ce n'est pas la première chose qui me vient à l'esprit.

dispake
la source
3

Dans mon cas, le problème était que l' URL du projet IIS dans l'onglet Web des propriétés de mon projet ASP.NET était définie sur la mauvaise URL.

Il pointait vers http: // localhost que j'utilisais avec une autre copie du projet. L'adresse de la solution que j'avais ouverte était en fait configurée sur mon IIS local comme http: // localhost: 90 .

Le passage à la bonne adresse a résolu le problème.

Entrez la description de l'image ici

Un tueur
la source
2

J'ai essayé à peu près tout dans cette liste, mais à la fin j'ai résolu ce problème en ouvrant les propriétés de la solution et en passant de "Projets de démarrage multiples" à "Projet de démarrage unique" et inversement.

  1. Faites un clic droit sur la solution et choisissez "Propriétés"
  2. Sous "Propriétés communes", modifiez la sélection "Projets de démarrage multiples" en "Projet de démarrage unique"
  3. Cliquez sur OK
  4. Lancer le débogage
  5. Terminez le débogage et répétez les étapes 1 à 3, mais revenez à "Projets de démarrage multiples"
  6. Relancez le débogage avec plusieurs projets
Fijjit
la source
2

J'ai eu le même problème ... Peu importe ce que j'ai fait - rien n'a fonctionné.

C'était un nouveau projet vide qui était le problème. J'ai fini par supprimer le projet et ajouter un nouveau projet - le nouveau projet devait avoir un autre nom ; si j'utilise le même nom, l'erreur vient de réapparaître - même après un redémarrage, un nettoyage et une reconstruction ... Cela doit être un bogue dans Visual Studio 2015.

Kim Rasmussen
la source
2

Pour moi, c'était une référence NuGet à partir d'un serveur NuGet privé. Je ne sais pas comment il a été compilé, mais changer la référence à une référence de projet m'a permis de surmonter le problème.

Crowcoder
la source
1

J'ai ouvert mon projet Visual Studio 2012 Pro dans Visual Studio 2015 Express et j'ai rencontré le même problème.

J'ai vérifié les propriétés de ma solution → Propriétés de configuration et découvert qu'un projet était défini sur Release & x86.

Je l'ai changé en Debug et Any CPU , et l'invite a disparu.

Jason
la source
1

Dans mon cas, je développais un plugin VSTO pour Outlook et Outlook chargeait accidentellement la version Release du fichier DLL que j'ai récemment installé lors du test de mon programme d'installation.

Il semble que Visual Studio essayait d'utiliser cette DLL au lieu de celle de débogage que j'attendais. La correction du fichier DLL chargé par Outlook a corrigé ce problème pour moi.

Devin Dow
la source
0

Copie de mon autre réponse d' ici .

Comme mentionné par @romanoza, Microsoft a mis à jour le rapport de bogue avec les informations suivantes:

Décochez le paramètre Déboguer -> Options -> Supprimer l'optimisation JIT lors du chargement du module (géré uniquement)

C'est la solution de contournement. Ils continuent en disant plus tard:

Nous recommandons aux gens de ne pas cocher cette case, car elle améliorera à la fois les performances et le comportement de mon code uniquement dans des scénarios spécifiques.

Enfin, la reconnaissance:

C'est un bogue que cela ne fonctionne pas avec ce paramètre activé et nous travaillons sur un correctif pour cette situation au cas où certains clients voudraient toujours déboguer avec ce paramètre activé.

Nate Cook
la source
0

J'ai rencontré le même problème, et finalement je l'ai résolu en choisissant "Désactiver juste mon code et continuer" .

Juste mon réglage de code

Sha-Pai Li
la source
0

Étapes de résolution:

  • Accédez aux paramètres de construction de la page Propriétés du projet incriminé .

  • Faites défiler vers le bas jusqu'au bouton "Avancé ..." .

  • Assurez-vous que «Debug Info:» n'est pas  défini sur «none» .

    Je vous recommande d'utiliser l' option complète .

Igor Quirino
la source
N'oubliez pas de faire cela pour tous les assemblys que vous souhaitez déboguer.
Igor Quirino
0

Après avoir vu le lien de Patrick en tant que commentaire à la question , quelqu'un a noté une solution de contournement qui consistait à arrêter le site dans IIS Express . J'ai pu éviter ce même problème en faisant juste cela après l'arrêt du débogueur dans Visual Studio.

Cependant, j'y cherchais davantage, et je pense que cela pourrait également être lié au paramètre "Modifier et continuer" du débogueur. Quand j'ai désactivé cela dans le menu OutilsOptions ... de Visual Studio, je n'avais plus le problème. Mais alors cela vous empêcherait d'utiliser le Modifier et continuer , donc je ne suis pas sûr que cela en vaille la peine pour vous.

Menu OutilsOptionsDébogueurModifier et continuer (faites défiler vers le bas de la liste générale) → décochez la case Modifier et continuer .

J'ai aussi ressenti cela soudainement après l'installation de la mise à jour 1, mais il se pourrait simplement que ce soit déclenché en premier lieu ... Je ne suis pas sûr cependant.

verbal
la source
0

Au cas où vous auriez juste besoin de continuer sans plus de retard, sélectionnez la dernière option dans la fenêtre contextuelle et tout fonctionnera de la même manière qu'avant.

Entrez la description de l'image ici

Milan
la source
Les images JPEG ne sont pas le meilleur choix pour les captures d'écran. Pouvez-vous le remplacer par une version PNG (ou même GIF) (nette)?
Peter Mortensen
0

C'était une alerte étrange.

La reconstruction de la solution n'effacera pas nécessairement tous les fichiers DLL (en particulier ceux copiés à partir de projets dépendants).

Cependant, la reconstruction du projet de dépendance a fait disparaître cette alerte.

J'ai fait face à cela avec Visual Studio 2015 Update 3.

Abu Abdullah
la source
0

Ma solution était un peu différente de toutes les autres et est un peu unique.

Je travaille avec un site Web qui contient un mélange de code managé et d' ASP Classic , tous deux référençant le même assembly. Visual Studio se plaignait du fait que mon fichier DLL géré était une version de version.

Le problème était une exception non interceptée dans mon assemblage, mais il était lancé par une page ASP Classic via l'interopérabilité. Visual Studio n'a pas pu gérer le débogage et a affiché le message d'erreur. La même exception lancée à partir du code managé aurait fait apparaître le débogueur comme prévu.

La correction du problème dans le constructeur de mon assemblage géré a tout résolu.

Tout cela a du sens maintenant que je repense à la situation dans son ensemble, mais à l'époque, le message d'erreur m'a conduit sur un chemin très profond, et j'ai tout essayé dans la réponse ici jusqu'à ce que j'aie ce "Ah-ha!" moment.

Mat
la source
0

J'ai passé deux jours et il semble que Réinitialiser l'instance expérimentale de Visual Studio 2017 m'a aidé.

Denis535
la source
Où se trouve cette option (répondez en éditant votre réponse , pas ici dans les commentaires)?
Peter Mortensen