Débogage à distance d’un projet C++ dans Visual Studio

Pour déboguer une application Visual Studio sur un autre ordinateur, installez et exécutez les outils à distance sur l’ordinateur sur lequel vous allez déployer votre application, configurez votre projet pour vous connecter à l’ordinateur distant à partir de Visual Studio, puis déployez et exécutez votre application.

Remote debugger components

Pour plus d’informations sur le débogage à distance des applications Windows universelles (UWP), consultez Déboguer un package d’application installé.

Configuration requise

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.

Notes

Le débogage entre deux ordinateurs connectés via un proxy n’est pas pris en charge. Le débogage via une connexion à haute latence ou à faible bande passante, telle qu’un accès Internet par ligne commutée, ou via un réseau Internet entre différents pays/régions n’est pas recommandé et peut échouer ou présenter des lenteurs inacceptables.

Télécharger et installer les outils de contrôle à 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 de contrôle à distance à partir des liens du tableau suivant.

  • Téléchargez les outils distants les plus récents pour votre version de Visual Studio. La dernière version des outils de contrôle à distance est compatible avec les versions antérieures de Visual Studio, mais les versions antérieures des outils de contrôle à distance 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 de contrôle à distance pour Visual Studio 2019. Dans ce scénario, ne téléchargez pas les outils de contrôle à distance pour Visual Studio 2022.)
  • Téléchargez les outils de contrôle à distance dotés de la même architecture que l’ordinateur sur lequel vous les installez. Par exemple, si vous souhaitez déboguer une application 32 bits sur un ordinateur distant exécutant un système d’exploitation 64 bits, installez les outils de contrôle à distance 64 bits.
  • Si vous déboguez à distance une application ARM64EC sur un appareil ARM64, installez les outils à distance ARM64, puis lancez le débogueur distant x64 qui est installé avec ces outils. Cela se trouve sous : Program Files (x86)\Microsoft Visual Studio<version>\Common7\IDE\Remote Debugger\x64.
Version Lien Remarques
Visual Studio 2022 outils de contrôle à distance. Compatible avec toutes les versions de Visual Studio 2022. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 ou ARM64). Sur les versions plus anciennes de Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils distants.
Visual Studio 2019 outils de contrôle à distance. Compatible avec toutes les versions de Visual Studio 2019. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 ou ARM64). Sur les versions plus anciennes de Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils distants.
Visual Studio 2017 outils de contrôle à distance. Compatible avec toutes les versions de Visual Studio 2017. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 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 de contrôle à distance. Les outils de contrôle à distance pour Visual Studio 2015 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme Visual Studio Dev Essentials gratuit 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 de contrôle à distance. Page de téléchargement dans la documentation de Visual Studio 2013
Visual Studio 2012 outils de contrôle à distance. Page de téléchargement dans la documentation de Visual Studio 2012
Version Lien Remarques
Visual Studio 2019 outils de contrôle à distance. Compatible avec toutes les versions de Visual Studio 2019. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 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 obtenir la version la plus récente des outils de contrôle à distance, ouvrez la documentation de Visual Studio 2022.
Visual Studio 2017 outils de contrôle à distance. Compatible avec toutes les versions de Visual Studio 2017. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 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 de contrôle à distance. Les outils de contrôle à distance pour Visual Studio 2015 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme Visual Studio Dev Essentials gratuit 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 de contrôle à distance. Page de téléchargement dans la documentation de Visual Studio 2013
Visual Studio 2012 outils de contrôle à 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, au lieu d’installer les outils de contrôle à distance. Toutefois, l’Assistant Configuration Remote Debugger (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.

Notes

  • Pour déboguer des applications Windows 10 ou version ultérieure sur des appareils ARM, utilisez ARM64, qui est disponible avec la dernière version des outils de contrôle à 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 de contrôle à distance de Visual Studio 2015.

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

  1. Sur l’ordinateur distant, recherchez et démarrez le Débogueur distant à partir du menu Démarrer.

    Si vous ne disposez pas d’autorisations d’administration sur l’ordinateur distant, cliquez avec le bouton droit sur l’application Débogueur distant et 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 qui 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.

  2. 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.

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    Si l’API des services web Windows n’est pas installée, ce qui se produit uniquement sur Windows Server 2008 R2, sélectionnez le bouton Installer.

  3. Sélectionnez au moins un type de réseau sur lequel vous souhaitez utiliser les outils de contrôle à distance. Si les ordinateurs sont connectés à 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 troisième élément, selon les besoins.

    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.

  4. Une fois la configuration terminée, la fenêtre Débogueur distant s’affiche.

    Screenshot of remote debugger window

    Screenshot of remote debugger window

    Le débogueur distant est maintenant en attente d’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 de la ligne de commande :

<Remote debugger installation directory>\msvsmon.exe

Notes

Si vous devez ajouter des autorisations pour des utilisateurs supplémentaires, modifiez le mode d’authentification ou le numéro de port du débogueur distant, consultez Configurer le débogueur distant.

Déboguer à distance un projet C++

Dans la procédure suivante, le chemin du projet est C:\remotetemp et le nom de l’ordinateur distant est MySurface.

  1. Créez une application console C++ nommée CppConsoleApp

  2. Définissez un point d’arrêt quelque part dans l’application qui est facilement accessible, par exemple dans CppConsoleApp.cpp, dans la fonction main.

  3. Dans l’Explorateur de solutions, faites un clic droit sur le projet, puis sélectionnez Propriétés. Ouvrez l’onglet Débogage.

  4. Définissez Débogueur à lancer sur Débogueur Windows distant.

    Screenshot of the Debugging tab in the Visual Studio Solution Explorer Properties. The Debugger to launch property is set to Remote Windows Debugger.

  5. Appliquez les modifications suivantes aux propriétés :

    Paramètre Valeur
    Commande distante C:\remotetemp\CppConsoleApp.exe
    Répertoire de travail C:\remotetemp
    Nom du serveur distant MySurface :portnumber
    Connexion À distance avec authentification Windows
    Type de débogueur Natif uniquement
    Répertoire de déploiement C:\remotetemp
    Fichiers supplémentaires à déployer $(ProjectDir)\data

    Si vous déployez des dossiers supplémentaires et que vous souhaitez que tous les fichiers d’un dossier soient déployés dans le même dossier, spécifiez un nom de dossier.

    Pour plus d’informations sur les propriétés, consultez Paramètres de projet pour une configuration de débogage C++.

  6. Dans l’Explorateur de solutions, faites un clic droit sur la solution et choisissez Gestionnaire de configuration.

  7. Pour la configuration Debug, cochez la case Déployer.

    Screenshot of the Configuration Manager in the Visual Studio Solution Explorer. The Debug configuration is selected, and Deploy is checked.

  8. Démarrez le débogage (Déboguer > Démarrer le débogage ou appuyez sur F5).

  9. Le fichier exécutable est déployé automatiquement sur l’ordinateur distant.

  10. Si vous y êtes invité, entrez les informations d’identification réseau pour vous connecter à l’ordinateur distant.

    Les informations d’identification requises sont spécifiques à la configuration de sécurité de votre réseau. Par exemple, sur un ordinateur de domaine, vous pouvez choisir un certificat de sécurité ou entrer votre nom de domaine et votre mot de passe. Sur une machine autre que le domaine, vous pouvez entrer le nom de l’ordinateur et un nom de compte d’utilisateur valide, comme MySurface\name@something.com, ainsi que le mot de passe correct.

  11. Sur l’ordinateur Visual Studio, l’exécution doit être arrêtée au point d’arrêt.

    Conseil

    Le déploiement des fichiers peut également faire l’objet d’une autre étape. Dans l’Explorateur de solutions, faites un clic droit sur le nœud du projet, puis choisissez Déployer.

    Si vous avez des fichiers autres que le code requis par l’application, vous pouvez les spécifier dans une liste délimitée par des points-virgules dans Fichiers supplémentaires à déployer sur la page Débogueur Windows distant.

    Vous pouvez également inclure les fichiers dans votre projet et définir la propriété Contenu sur Oui dans la page Propriétés de chaque fichier. Ces fichiers sont copiés dans le Répertoire de déploiement spécifié dans la page Débogueur Windows distant. Vous pouvez également modifier le Type d’élément en Fichier de copie et y spécifier des propriétés supplémentaires si vous avez besoin que les fichiers soient copiés dans un sous-dossier du Répertoire de déploiement.

Configurer le débogage avec des symboles distants

Vous devez pouvoir déboguer votre code avec les symboles que vous générez sur l’ordinateur Visual Studio. Les performances du débogueur distant sont nettement meilleures quand vous utilisez des symboles locaux.

Si vous devez utiliser des symboles distants, vous devez spécifier les symboles distants dans Visual Studio en ajoutant un partage de fichiers Windows au chemin de recherche de symboles dans Outils > Options > Débogage > Symboles.