Résoudre les problèmes de débogage à distance
S’applique à : Visual Studio
Cet article présente les étapes de dépannage 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 à rechercher les messages d’erreur et à examiner. Le message peut inclure un lien avec 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, vérifiez que la version installée correspond à votre version de Visual Studio. Pour connaître les liens actuels pour télécharger le débogueur distant, consultez Le 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 pouvez choisir 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 vous attacher à l’application distante, mais vous ne pouvez pas atteindre les points d'arrêt (ou les symboles de débogage ne seront pas chargés)
Pour ce problème, vous pouvez voir un message Aucun symbole n’est chargé.
Utilisez la fenêtre Modules pour connaître l’état de chargement des symboles de 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. S’il s’affiche incorrectement en tant que Mon code, vous disposez probablement d’une build 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 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 lorsqu’une application a été générée (c’est-à-dire les fichiers .pdb d’origine ou les copies). Pour le débogage Windows distant, les fichiers PDB par défaut sont lus sur l’ordinateur Visual Studio et non à partir du serveur. (Toutefois, msvsmon dispose d’un argument de ligne de commande pour permettre le retour 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 en cours d’exécution sur le serveur n’est pas la même que la version configurée pour votre application
Vous devrez peut-être installer la version correcte de ASP.NET ou de ASP.NET Core sur le serveur ou sur votre ordinateur local. Pour vérifier la version de votre application de ASP.NET, faites un clic droit sur le projet dans Explorateur de solutions et choisissez Propriétés. Cochez l’onglet Build. 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 de l’infrastructure dans votre fichier web.config .
Vous ne voyez pas le processus dont vous avez besoin dans la boîte de dialogue Attacher au processus
Certains scénarios vous obligent à attacher manuellement le processus approprié. Si vous utilisez Attach to Process pour votre scénario et que vous ne voyez pas le processus attendu :
- Si le filtre du processus de recherche a été défini précédemment, vérifiez 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, le type de connexion et l’attachement aux champs peuvent limiter les processus qui apparaissent dans la liste.
Vous ne vous attachez pas au processus approprié
Si vous utilisez l’attachement au processus, vérifiez que vous vous attachez au processus approprié. Pour plus d’informations, consultez Scénarios de débogage courants.
Un port obligatoire 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 du serveur (par exemple, IIS utilise le port 80).
Des privilèges élevés pour le débogueur distant peuvent être requis
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.