Débogage à distance d’un projet C# ou Visual Basic dans Visual Studio
Pour déboguer une application Visual Studio déployée sur un autre ordinateur, installez et exécutez les outils distants sur l’ordinateur sur lequel vous avez déployé votre application, configurez votre projet pour vous connecter à l’ordinateur distant à partir de Visual Studio, puis exécutez votre application.
Pour plus d’informations sur le débogage à distance des applications Windows universelles (UWP), consultez déboguer un package d’application installé.
Exigences
Le débogueur distant est pris en charge sur Windows 7 et versions ultérieures et versions de Windows Server à partir de Windows Server 2008 Service Pack 2. Pour obtenir la liste complète des exigences, consultez Exigences.
Remarque
Le débogage entre deux ordinateurs connectés via un proxy n’est pas pris en charge. Le débogage sur une connexion à latence élevée ou à faible bande passante, comme l'Internet par modem, ou sur Internet entre différents pays/régions n'est pas recommandé et peut échouer ou être inacceptablement lent.
Télécharger et installer les outils à distance
Sur l’appareil ou le serveur distant sur lequel vous souhaitez déboguer, plutôt que sur l’ordinateur Visual Studio, téléchargez et installez la version correcte des outils distants à partir des liens figurant dans le tableau suivant.
- Téléchargez la mise à jour la plus récente des outils à distance pour votre version de Visual Studio. Les versions antérieures des outils distants ne sont pas compatibles avec les versions ultérieures de Visual Studio. (Par exemple, si vous utilisez Visual Studio 2019, téléchargez la dernière mise à jour des outils à distance pour Visual Studio 2019. Dans ce scénario, ne téléchargez pas les outils à distance pour Visual Studio 2022.)
- Téléchargez les outils distants avec la même architecture que la machine sur laquelle vous les installez. Par exemple, si vous souhaitez déboguer des applications x86 sur un ordinateur distant exécutant un système d’exploitation x64, installez les outils à distance x64. Pour déboguer des applications x86, ARM ou x64 sur un système d’exploitation ARM64, installez les outils à distance ARM64.
Version | Lien | Notes |
---|---|---|
Visual Studio 2022 | Outils à distance | Compatible avec toutes les versions de Visual Studio 2022. Téléchargez la version correspondant à votre système d’exploitation d’appareil (x86, x64 (AMD64) ou ARM64). Sur les versions antérieures de Windows Server, consultez Débloquer le téléchargement du fichier pour obtenir de l'aide sur comment télécharger les outils à distance. |
Visual Studio 2019 | Outils de télétravail | Les outils à distance pour Visual Studio 2019 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme gratuit Visual Studio Dev Essentials ou connectez-vous avec votre ID d’abonnement Visual Studio. Téléchargez la version correspondant à votre système d’exploitation d’appareil (x86, x64 (AMD64) ou ARM64). Sur les versions antérieures de Windows Server, consultez Débloquer le téléchargement du fichier pour obtenir de l’aide sur le téléchargement des outils distants. |
Visual Studio 2017 | Outils à distance | Les outils à distance pour Visual Studio 2017 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme gratuit Visual Studio Dev Essentials ou connectez-vous avec votre ID d’abonnement Visual Studio. Téléchargez la version correspondant à votre système d’exploitation d’appareil (x86, x64 (AMD64) ou ARM64). Sur Windows Server, consultez Débloquer le téléchargement du fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2015 | Outils à distance | Les outils à distance pour Visual Studio 2015 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme gratuit Visual Studio Dev Essentials ou connectez-vous avec votre ID d’abonnement Visual Studio. Sur Windows Server, consultez la section Débloquer le téléchargement du fichier pour obtenir de l'aide sur le téléchargement des outils distants. |
Visual Studio 2013 | Outils à distance | Page de téléchargement dans la documentation Visual Studio 2013 |
Visual Studio 2012 | Outils à distance | Page de téléchargement dans la documentation de Visual Studio 2012 |
Version | Lien | Notes |
---|---|---|
Visual Studio 2019 | Les outils à distance | Compatible avec toutes les versions de Visual Studio 2019. Téléchargez la version correspondant à votre système d’exploitation d’appareil (x86, x64 (AMD64) ou ARM64). Sur Windows Server, consultez Débloquer le téléchargement du fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. Pour la version la plus récente des outils à distance, ouvrez la documentation Visual Studio 2022. |
Visual Studio 2017 | Outils à distance | Compatible avec toutes les versions de Visual Studio 2017. Téléchargez la version correspondant à votre système d’exploitation d’appareil (x86, x64 (AMD64) ou ARM64). Sur Windows Server, consultez Débloquer le téléchargement du fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2015 | Outils à distance | Les outils à distance pour Visual Studio 2015 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme gratuit Visual Studio Dev Essentials ou connectez-vous avec votre ID d’abonnement Visual Studio. Sur Windows Server, consultez Débloquer le téléchargement du fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2013 | Outils à distance | Page de téléchargement dans la documentation Visual Studio 2013 |
Visual Studio 2012 | Outils à distance | Page de téléchargement dans la documentation de Visual Studio 2012 |
Vous pouvez exécuter le débogueur distant en copiant msvsmon.exe sur l’ordinateur distant, plutôt que d’installer les outils distants. Toutefois, l’Assistant Configuration du débogueur distant (rdbgwiz.exe) n’est disponible que lorsque vous installez les outils de contrôle à distance. Vous devrez peut-être utiliser l’Assistant pour la configuration si vous souhaitez exécuter le débogueur distant en tant que service. Pour plus d’informations, consultez (Facultatif) Configurer le débogueur distant en tant que service.
Remarque
- Pour déboguer des applications Windows 10 ou ultérieures sur des appareils ARM, utilisez ARM64, qui est disponible avec la dernière version des outils à distance.
- Pour déboguer des applications Windows 10 sur des appareils Windows RT, utilisez ARM, qui est disponible uniquement dans le téléchargement des outils à distance Visual Studio 2015.
- Pour déboguer des applications x64 sur un système d’exploitation ARM64, exécutez la msvsmon.exe x64 installée avec les outils à distance ARM64.
Conseil
Dans certains scénarios, il peut être plus efficace d’exécuter le débogueur distant à partir d’un partage de fichiers. Pour plus d’informations, consultez Exécuter le débogueur distant à partir d’un partage de fichiers.
Configurer le débogueur distant
Sur l’ordinateur distant, recherchez et démarrez le Débogueur distant à partir du menu Démarrer.
Si vous n’avez pas d’autorisations d’administration sur l’ordinateur distant, cliquez avec le bouton droit sur l’application de débogueur distant, puis sélectionnez Exécuter en tant qu’administrateur. Sinon, il suffit de le démarrer normalement.
Si vous envisagez d’attacher un processus qui s’exécute en tant qu’administrateur ou s’exécute sous un autre compte d’utilisateur (par exemple, IIS), cliquez avec le bouton droit sur l’application débogueur distant et sélectionnez Exécuter en tant qu’administrateur. Pour plus d’informations, consultez Exécuter le débogueur distant en tant qu’administrateur.
La première fois que vous démarrez le débogueur distante (ou avant de l’avoir configuré), l’Assistant Configuration du débogage distant s’affiche.
Dans la plupart des scénarios, choisissez Suivant jusqu’à ce que vous accédiez à la page configurer le Pare-feu Windows de l’Assistant.
Si l'API Windows Web Services n'est pas installée, ce qui ne se produit que sur Windows Server 2008 R2, sélectionnez le bouton Installer.
Sélectionnez au moins un type de réseau sur lequel vous souhaitez utiliser les outils distants. Si les ordinateurs sont connectés via un domaine, vous devez choisir le premier élément. Si les ordinateurs sont connectés via un groupe de travail ou un groupe résidentiel, choisissez le deuxième ou le troisième élément le cas échéant.
Ensuite, sélectionnez Terminer pour démarrer le débogueur distant.
Ensuite, sélectionnez Configurer le débogage à distance pour démarrer le débogueur distant.
Une fois la configuration terminée, la fenêtre Débogueur distant s’affiche.
Capture d’écran
Capture d’écran
Le débogueur distant attend maintenant une connexion. Utilisez le nom du serveur et le numéro de port indiqués pour définir la configuration de la connexion à distance dans Visual Studio.
Pour arrêter le débogueur distant, sélectionnezFichier>Quitter. Vous pouvez le redémarrer à partir du menu Démarrer ou à partir de la ligne de commande :
<Remote debugger installation directory>\msvsmon.exe
Remarque
Si vous devez ajouter des autorisations pour d’autres utilisateurs, modifier le mode d’authentification ou le numéro de port du débogueur distant, consultez Configurer le débogueur distant.
Déboguez le projet à distance
Le débogueur ne peut pas déployer des applications de bureau Visual C# ou Visual Basic sur un ordinateur distant, mais vous pouvez toujours les déboguer à distance comme suit. La procédure suivante suppose que vous souhaitez le déboguer sur un ordinateur nommé MJO-DL, comme illustré dans l’illustration ci-dessous.
Créez un projet WPF nommé MyWpf.
Si vous essayez de déboguer à distance une application MAUI au lieu de WPF, consultez Débogage distant d’une application .NET MAUI sur Windows.
Définissez un point d’arrêt quelque part dans le code facilement accessible.
Par exemple, vous pouvez définir un point d’arrêt dans un gestionnaire de boutons. Pour ce faire, ouvrez MainWindow.xaml et ajoutez un contrôle Button à partir de la boîte à outils, puis double-cliquez sur le bouton pour ouvrir son gestionnaire.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet et choisissez Propriétés.
Dans la page Propriétés, choisissez l’onglet Déboguer.
Pour les projets C# ciblant .NET Core ou .NET 5+, à compter de Visual Studio 2022, choisissez l’interface utilisateur des profils de lancement de débogage sous l’onglet Déboguer pour configurer les paramètres de débogage à distance.
Sinon, pour .NET Framework, vous modifiez les paramètres de débogage distants directement dans l’onglet Débogage.
Vérifiez que le répertoire de travail zone de texte est vide.
Choisissez Utiliser la machine distante, puis tapez votremachinename:port dans la zone de texte. (Le numéro de port est affiché dans la fenêtre du débogueur distant. Le numéro de port incrémente 2 dans chaque version de Visual Studio).
Dans cet exemple, utilisez :
MJO-DL:4026 sur Visual Studio 2022
MJO-DL :4024 sur Visual Studio 2019
Vérifiez que l’option Permettre le débogage du code natif n’est pas sélectionnée.
Construisez le projet.
Créez un dossier sur l’ordinateur distant ayant le même chemin que le dossier Debug sur votre ordinateur Visual Studio : <chemin source>\MyWPF\MyWPF\bin\Debug.
Copiez l’exécutable que vous venez de créer à partir de votre ordinateur Visual Studio vers le dossier nouvellement créé sur l’ordinateur distant.
Attention
N’apportez pas de modifications au code ou régénérez (ou vous devez répéter cette étape). L’exécutable que vous avez copié sur l’ordinateur distant doit correspondre exactement à votre source locale et à vos symboles.
Vous pouvez copier le projet manuellement, utiliser XCopy, Robocopy, PowerShell ou d’autres options.
Vérifiez que le débogueur distant s’exécute sur l’ordinateur cible (sinon, recherchez Débogueur Distant dans le menu Démarrer). La fenêtre du débogueur distant ressemble à ceci.
Dans Visual Studio, démarrez le débogage (Déboguer > Démarrer le débogage, ou F5).
Si vous y êtes invité, entrez les informations d’identification réseau pour vous connecter à l’ordinateur distant.
Les informations d’identification requises varient en fonction de la configuration de sécurité de votre réseau. Par exemple, sur un ordinateur de domaine, vous pouvez entrer votre nom de domaine et votre mot de passe. Sur un ordinateur non-domaine, vous pouvez entrer le nom de l’ordinateur et un nom de compte d’utilisateur valide, comme MJO-DL\name@something.com, ainsi que le mot de passe correct.
Vous devez voir que la fenêtre principale de l’application WPF est ouverte sur l’ordinateur distant.
Si nécessaire, prenez des mesures pour atteindre le point de rupture. Il doit être actif. Si ce n’est pas le cas, les icônes de l’application ne se sont pas chargées. Réessayez et, si cela ne fonctionne pas, obtenez des informations sur le chargement des symboles et comment les résoudre lors de Présentation des fichiers de symboles et des paramètres de symboles de Visual Studio.
Sur l’ordinateur Visual Studio, l’exécution doit être arrêtée au point d’arrêt.
Si vous avez des fichiers non codés qui doivent être utilisés par l’application, vous devez les inclure dans le projet Visual Studio. Créez un dossier de projet pour les fichiers supplémentaires (dans l’Explorateur de solutions , cliquez sur Ajouter > nouveau dossier). Ajoutez ensuite les fichiers au dossier (dans l’Explorateur de solutions , cliquez sur Ajouter > élément existant, puis sélectionnez les fichiers). Dans la page Propriétés de chaque fichier, définissez Copier dans le répertoire de sortie sur Toujours copier.
Déboguer à distance une application .NET MAUI sur Windows
Les applications .NET MAUI sont des applications empaquetées qui doivent être inscrites lors du déploiement, pas seulement copiées sur un ordinateur distant. Pour déboguer à distance, vous pouvez déployer une version non empaquetée de l’application.
Utilisez l’une des méthodes suivantes pour déboguer à distance :
Publiez l’application sur l’appareil distant en tant qu’application non empaquetée en suivant les étapes décrites dans Utiliser l’interface CLI pour publier des applications .NET MAUI non empaquetées pour Windows, puis suivez les étapes décrites dans cet article pour déboguer à distance. (Ignorez les étapes de copie de l’application.)
Suivez la procédure dans cet article, notamment les étapes de la création d’un profil de lancement de débogage pour le projet. Avant de commencer le débogage, modifiez manuellement le fichier launchSettings.json, en remplaçant la valeur
Project
commandNameparMsixPackage
, comme illustré ici."Remote Profile": { "commandName": "MsixPackage", "remoteDebugEnabled": true, "remoteDebugMachine": "170.200.20.22", "authenticationMode": "None" }
Lorsque vous démarrez le débogage, cette méthode déploie d’abord une version non empaquetée de l’application et la démarre.
Remarque
Vous ne pouvez pas modifier launchSettings.json dans la boîte de dialogue du profil de lancement de débogage une fois que vous avez modifié la valeur en
MsixPackage
.
Configurer le débogage avec des symboles distants
Vous devez être en mesure de déboguer votre code avec les symboles que vous générez sur l’ordinateur Visual Studio. Les performances du débogueur distant sont beaucoup mieux lorsque vous utilisez des symboles locaux. Si vous devez utiliser des symboles distants, vous devez indiquer au moniteur de débogage distant de rechercher des symboles sur l’ordinateur distant.
Vous pouvez utiliser le commutateur de ligne de commande msvsmon suivant pour utiliser des symboles distants pour le code managé : Msvsmon /FallbackLoadRemoteManagedPdbs
Pour plus d’informations, consultez l’aide sur le débogage à distance (appuyez sur F1 dans la fenêtre du débogueur distant, ou cliquez sur Aide > Utilisation).