Résoudre les problèmes de débogage à distance

              S’applique à : Visual Studio

Cet article présente les étapes de résolution des problèmes et les solutions de certains problèmes courants liés au débogage à distance.

Pour résoudre les problèmes de débogage à distance, la première étape consiste à case activée les messages d’erreur et à examiner. Le message peut inclure un lien contenant plus d’informations.

Ensuite, vérifiez que l’application s’exécute correctement sur le serveur avant d’essayer de la déboguer.

Sinon, voici les problèmes et solutions les plus courants :

Version incorrecte du débogueur distant installé

Pour les scénarios où vous installez manuellement le débogueur distant sur un ordinateur distant, assurez-vous que la version installée correspond à votre version de Visual Studio. Pour obtenir les liens actuels permettant de télécharger le débogueur distant, consultez Débogueur distant.

Une build de mise en production est déployée sur le serveur au lieu d’une build de débogage

L’outil Publier et d’autres options de publication ont un paramètre de configuration de débogage distinct que vous devez définir. (Vous choisissez peut-être une build de débogage lorsque vous exécutez l’application dans Visual Studio, mais cela ne signifie pas que vous avez installé une build de débogage sur le serveur.)

Vous pouvez l’attacher à l’application distante, mais vous ne pouvez pas atteindre les points d’arrêt (ou les symboles de débogage ne se chargent pas)

Pour ce problème, vous pouvez voir un message Aucun symbole n’est chargé.

Utilisez la fenêtre Modules pour connaître le symbole qui charge status pour votre module, et les modules que le débogueur traite comme du code utilisateur, ou Mon code.

  • La colonne État du symbole indique si les symboles ont été correctement chargés pour le module.
  • La colonne Code utilisateur indique si le module que vous essayez de déboguer est classé comme Mon code. Si elle s’affiche de manière incorrecte en tant que Mon code, vous disposez probablement d’une version de mise en production déployée sur le serveur. Les fichiers binaires de mise en production sont optimisés et ne sont jamais considérés comme Mon code. Par conséquent, désactivez Uniquement mon code ou déployez une build de débogage sur le serveur.
  • Si le paramètre de code utilisateur est correct, mais que les symboles ne sont pas chargés, vérifiez que le débogueur utilise les fichiers de symboles corrects. Le débogueur charge uniquement les symboles (fichiers .pdb) qui correspondent exactement aux fichiers .pdb créés lors de la génération d’une application (c’est-à-dire les fichiers ou copies .pdb d’origine). Pour le débogage Windows distant, par défaut, les fichiers PDB sont lus sur l’ordinateur Visual Studio et non à partir du serveur. (Toutefois, msvsmon dispose d’un argument de ligne de commande pour permettre de revenir aux fichiers .pdb distants.)

Pour plus d’informations, consultez Résoudre les problèmes liés aux points d’arrêt.

(ASP.NET) La version de ASP.NET s’exécutant sur le serveur n’est pas identique à la version configurée pour votre application

Vous devrez peut-être installer la version correcte de ASP.NET ou ASP.NET Core sur le serveur ou sur votre ordinateur local. Pour case activée la version de votre application de ASP.NET, cliquez avec le bouton droit sur le projet dans Explorateur de solutions et choisissez Propriétés. Cochez l’onglet Générer. La configuration de ASP.NET sur le serveur est spécifique au scénario. Pour les applications ASP.NET Framework, vous devrez peut-être définir la version du framework dans votre fichier web.config .

Vous ne voyez pas le processus dont vous avez besoin dans la boîte de dialogue Attacher au processus

Dans certains scénarios, vous devez attacher manuellement le processus approprié. Si vous utilisez Attacher au processus pour votre scénario et que vous ne voyez pas le processus que vous attendez :

  • Si le filtre du processus de recherche a été défini précédemment, case activée si vous devez l’effacer.
  • Sélectionnez Afficher les processus pour tous les utilisateurs afin d’afficher les processus en cours d’exécution sous d’autres comptes d’utilisateur.
  • Pour les connexions lentes, vous pouvez désactiver l’actualisation automatique.
  • S’ils sont modifiés par défaut, les champs Type de connexion et Attacher à peuvent limiter les processus qui apparaissent dans la liste.

Vous n’attachez pas au processus correct

Si vous utilisez attach to process, vérifiez que vous attachez au processus correct. Pour plus d’informations, consultez Scénarios de débogage courants.

Un port requis n’est pas ouvert

Dans la plupart des configurations ASP.NET, les ports requis sont ouverts par l’installation de ASP.NET et du débogueur distant. Toutefois, vous devrez peut-être vérifier que les ports sont ouverts. Par exemple, dans les scénarios de machine virtuelle Azure, vous devez probablement ouvrir le port du débogueur distant et le port de serveur (par exemple, IIS utilise le port 80).

Des privilèges élevés peuvent être requis pour le débogueur distant

Dans certains scénarios, vous devrez peut-être exécuter le débogueur distant en tant qu’administrateur. Pour plus d’informations, consultez Exécuter le débogueur distant en tant qu’administrateur.