web-dev-qa-db-fra.com

Impossible de déboguer le code managé avec Visual Studio 2013 (erreur «Impossible d'évaluer l'expression» - utilise la version de débogage) (notez que VS 2012 fonctionne)

J'ai une application .net (interface graphique et PowerShell) construite sur la version 4.5. Mon système d'exploitation est le serveur 2012. Lorsque je lie mon application à Visual Studio 2013, le débogueur ne fonctionne pas parfois. Cela n'évalue pas l'expression ou ne montre pas les sections locales (et regarde également la fenêtre/fenêtre immédiate, rien ne fonctionne - c'est comme si le projet était construit avec release). Mais j'ai construit avec la configuration 'Debug'. Et comme mentionné, la même chose fonctionne quand j'attache simplement avec VS 2012 (oui, j'ai 2k13 et 2k12 SXS)

Veuillez noter que si j'attache le même processus avec les mêmes paramètres (débogage géré) à Visual Studio 2012, il fonctionne toujours.

Je me suis assuré que les symboles sont chargés (en vérifiant l'onglet des modules dans Visual Studio + Debug + Windows), les points d'arrêt sont atteints.

Des idées sur ce que pourrait être le problème? Toutes les mises à jour sont également à jour.

Son genre d'ennui de lancer vs 2012 juste pour déboguer, quand j'utilise VS 2k13 IDE pour le développement.

Cordialement!

54
Dreamer

Si vous faites face au même problème, veuillez consulter http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger -Abnormality pour plus de détails.

Voici la réponse qui a résolu pour moi:

J'ai défini le drapeau "Utiliser le mode de compatibilité géré" dans Outils | Options | Débogueur | Général.

Pour plus de détails, jetez un coup d'œil au lien comme il l'expliquait joliment comme une histoire :)

Suis content que cela fonctionne, sinon je devais juste charger le projet en vs 2k12 juste pour le déboguer, ce qui est agaçant.

EDIT le 12 juin 2014

J'ai mis à jour mes environnements de développement avec la mise à jour 2 de Visual Studio 2013 ( http://www.Microsoft.com/en-us/download /details.aspx?id=42666 ) (selon la suggestion de Maria ci-dessous) et supprimé "à l'aide du mode de compatibilité gérée". Je vais tester mes applications (cmdlets ps, interface utilisateur graphique, services) et vous mettre à jour dans quelques semaines si le débogueur me convient.

EDIT le 26 juin 2014

J'ai testé mes applications et heureusement pour moi tout fonctionne bien :). Même le débogueur fait du bon travail avec le nouveau modèle async/wait. Alors, voyez si vous pouvez passer à la 'mise à jour 2' - espérons que cela fonctionne également dans votre environnement ?. Merci à Maria et à l'équipe du débogueur!

Cordialement.

89
Dreamer

J'ai supprimé tous mes points d'arrêt, puis il a commencé à fonctionner avec Visual Studio 2013 Update 1. Il s'agissait d'une des suggestions de message de blog mentionnées par Dreamer.

11

Nous avons publié un correctif pour le problème que vous décrivez dans pdate 2 CTP 2 de Visual Studio -
S'il vous plaît laissez-moi savoir si cela ne résout pas votre problème!

Merci! Maria - Debugger Visual Studio

4
Maria

Veuillez noter que, bien que la réponse acceptée corrige probablement le problème pour le moment, il est préférable de connaître les inconvénients de cette solution. Ce changement obligera VS 2013 à utiliser le débogueur de style ancien pour tous vos projets. C'est un cadre global. Il existe d'autres moyens de modifier localement cela pour un seul projet. Veuillez lire ici pour plus d'informations à ce sujet:

http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/switching-to-managed-compatibility-mode-in-visual-studio-2013.aspx

0
tmatuschek

Vous pouvez résoudre cette erreur en appliquant les points suivants

Sol 1:

1) Redémarrez Visual Studio et rouvrez votre projet.
2) Ouvrez le répertoire de votre projet et supprimez DLL de ce code là où votre débogueur ne fonctionne pas correctement.
3) Ajoutez à nouveau DLL référence dans le répertoire bin.
4) Supprimez tous les points d'arrêt.
5) Construire le projet.
6) joindre avec une Processus w3wp.exe en pièce jointe à la fenêtre de processus
7) Profitez de votre problème a été résolu.


Si la solution ci-dessus ne fonctionne pas, vous pouvez essayer la solution fournie sur le lien ci-dessous.
http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-evaluation-Expression-Debugger-Abnormality

0
Vivek Parashar

Nous avons eu ce problème avec l'extension PostSharp version 5.0.32 avec VS2013 Update 5.

Notre solution de contournement était de déclasser l’extension PostSharp vers la version 4.3.19 ou de la désactiver.

0
Rafael Miceli

J'ai eu un problème similaire de débogage où cette erreur s'est produite à partir d'un retour de la création d'une classe. La classe a initialisé correctement (avec "new classname ()") mais a ensuite généré l'erreur "ne peut pas évaluer l'expression" au retour. Même si cela fonctionnait avec les versions précédentes de Visual Studio, il fonctionnait sous VS 2017.

Après beaucoup de casse-tête, il s'est avéré que les variables privées de la classe, en particulier des choses comme les arraylists et autres classes, devaient être déclarées avec des valeurs initiales, même si définies à null.

Une fois cela fait, tout a fonctionné, même si la solution "semblait" n'avoir aucun rapport avec le problème et ne donnait aucune indication apparente quant à l'origine du problème.

0
SteveFerg

Nous avons un évaluateur d'expression personnalisé et notre propre langue. Ce message d'avertissement vous permettant de modifier les paramètres apparaît toujours, même après la modification des paramètres du projet par ceux spécifiés dans le blog.

 <DebugEngines>{351668CC-8477-4fbf-BFE3-5F1006E4DB1F}</DebugEngines>

Y a-t-il autre chose?

Nos clients utilisent VS2013 pro. J'ai désactivé tout le processus d'activation du processus d'hébergement Visual Studio pour tous nos projets et ajouté la propriété aux projets de nos clients. Je vois toujours l'avertissement chaque fois que j'attaque w3wp.exe.

REMARQUE IMPORTANTE: si votre projet utilise le processus d'hébergement Visual Studio (par défaut pour de nombreux types de projets), vous devez désactiver le processus d'hébergement pour que ce correctif modifie correctement le mode de débogage. Pour désactiver le processus d'hébergement, accédez au volet Débogage de la page des propriétés du projet et décochez "Activer le processus d'hébergement Visual Studio"

0
learnerplates