Tutoriel : Déboguer un projet CMake sur une machine Windows distante
Ce tutoriel utilise Visual Studio C++ sur Windows pour créer et générer un projet CMake que vous pouvez déployer et déboguer sur un ordinateur Windows distant. Le didacticiel est spécifique à Windows ARM64, mais les étapes peuvent être généralisées pour d’autres architectures.
Dans Visual Studio, l’expérience de débogage par défaut pour ARM64 consiste à déboguer à distance un ordinateur Windows ARM64. Configurez vos paramètres de débogage, comme indiqué dans ce tutoriel. Sinon, lorsque vous essayez de déboguer un projet CMake ARM64, vous obtenez une erreur indiquant que Visual Studio ne trouve pas la machine distante.
Dans ce tutoriel, vous allez découvrir comment :
- créer un projet CMake
- configurer un projet CMake pour générer pour ARM64
- configurer un projet CMake pour qu’il s’exécute sur une machine Windows ARM64 distante
- déboguer un projet CMake s’exécutant sur une machine Windows ARM64 distante
Prérequis
Sur l’ordinateur hôte
Pour configurer Visual Studio pour le développement C++ multiplateforme, installez les outils de génération pour l’architecture cible. Pour ce tutoriel, installez les outils de génération ARM64 en procédant comme suit :
- Exécutez le programme d’installation de Visual Studio. Si vous n’avez pas encore installé Visual Studio, consultez Installer Visual Studio
- Dans l’écran d’accueil de Visual Studio Installer, choisissez Modifier.
- Dans les choix en haut, choisissez Composants individuels.
- Faites défiler jusqu’à la section Compilateurs, outils de génération et runtimes .
- Vérifiez que les éléments suivants sont sélectionnés :
- Outils C++ CMake pour Windows
- MSVC v142 - VS 2019 C++ ARM64 Build Tools (Dernière version) Il est important que vous choisissiez les
ARM64
outils de génération et non lesARM
outils de génération (recherchez les 64) et que vous choisissez la version qui va avecVS 2019
.
- Sélectionnez Modifier pour installer les outils.
Sur l’ordinateur distant
- Installez les outils distants sur l’ordinateur distant. Pour ce tutoriel, installez les outils ARM64 en suivant les instructions fournies dans Télécharger et installer les outils à distance.
- Démarrez et configurez le débogueur distant sur l’ordinateur distant. Pour ce didacticiel, suivez les instructions de configuration du débogueur distant sur l’ordinateur Windows distant.
Créer un projet CMake
Sur l’ordinateur hôte Windows :
- Exécuter Visual Studio
- Dans le menu principal, sélectionnez Fichier>Nouveau>Projet.
- Sélectionner le projet>CMake suivant
- Donnez au projet un nom et choisissez un emplacement. Sélectionnez ensuite Créer.
Donnez à Visual Studio quelques instants pour créer le projet et remplir la Explorateur de solutions.
Configurer pour ARM64
Pour cibler une machine Windows ARM64, vous devez créer à l’aide des outils de génération ARM64.
Sélectionnez la liste déroulante Configuration de Visual Studio, puis sélectionnez Gérer les configurations.
Ajoutez une nouvelle configuration en sélectionnant Ajouter une nouvelle configuration (le bouton vert + ).
Dans la boîte de dialogue CMake Paramètres qui s’affiche, sélectionnez arm64-debug, puis sélectionnez Sélectionner :
Cette commande ajoute une configuration de débogage nommée arm64-Debug
à votre CmakeSettings.json
fichier. Ce nom de configuration est un nom convivial unique qui vous permet d’identifier plus facilement ces paramètres dans la liste déroulante Configuration .
La liste déroulante Toolset est définie sur msvc_arm64_x64. Vos paramètres doivent maintenant ressembler à ceci :
Remarque
Dans la liste déroulante Ensemble d’outils, msvc_arm64 sélectionne les outils hôtes 32 bits pour effectuer la compilation croisée vers ARM64, tandis que msvc_arm64 x64 sélectionne les outils hôtes 64 bits pour effectuer la compilation croisée vers ARM64, ce que vous allez faire dans ce didacticiel. Pour plus d’informations sur les environnements d’ensemble d’outils disponibles, consultez Environnements prédéfinis.
Enregistrez le fichier CMakeSettings.json
. Dans la liste déroulante de configuration, sélectionnez arm64-debug. (Il peut prendre un moment après l’enregistrement du CMakeSettings.json
fichier pour qu’il apparaisse dans la liste) :
Ajouter un fichier de configuration de débogage
Ensuite, ajoutez des informations de configuration qui indiquent à Visual Studio où trouver votre ordinateur distant, ainsi que d’autres détails de configuration.
Modifiez l’affichage Explorateur de solutions en fonction des cibles en sélectionnant le bouton Changer de vue :
Ensuite, dans le Explorateur de solutions, double-cliquez sur CMake Targets View pour afficher le projet.
Ouvrez le dossier du projet (dans cet exemple, CMakeProject3 Project), puis cliquez avec le bouton droit sur l’exécutable, puis sélectionnez Ajouter une configuration de débogage :
Cette commande crée un launch.vs.json
fichier dans votre projet. Ouvrez-le et modifiez les entrées suivantes pour activer le débogage à distance :
projectTarget
: cette valeur est définie pour vous si vous avez ajouté le fichier de configuration de débogage à partir de la vue Explorateur de solutions cibles conformément aux instructions ci-dessus.remoteMachineName
: défini sur l’adresse IP de l’ordinateur ARM64 distant ou son nom d’ordinateur.
Pour plus d’informations sur launch.vs.json
les paramètres, consultez launch.vs.json
la référence de schéma.
Remarque
Si vous utilisez la vue dossier au lieu de la vue cibles dans Explorateur de solutions, cliquez avec le bouton droit sur le CMakeLists.txt
fichier et sélectionnez Ajouter une configuration de débogage. Cette expérience diffère de l’ajout de la configuration de débogage à partir de la vue cibles de la manière suivante :
- Vous serez invité à sélectionner un débogueur (sélectionnez C/C++ Remote Windows Debug).
- Visual Studio fournit moins d’informations sur le modèle de configuration dans le
launch.vs.json
fichier. Vous devrez donc l’ajouter vous-même. Vous devez fournir les entrées etprojectTarget
lesremoteMachineName
entrées. Lorsque vous ajoutez la configuration à partir de la vue cibles, vous devez uniquement spécifierremoteMachineName
. - Pour la
projectTarget
valeur de paramètre, case activée la liste déroulante des éléments de démarrage pour obtenir le nom unique de votre cible, par exemple, dans ce didacticiel, il s’agitCMakeProject3.exe
de « .
Démarrer le moniteur de débogueur distant sur l’ordinateur Windows distant
Avant d’exécuter votre projet CMake, vérifiez que le débogueur distant Visual Studio 2019 s’exécute sur l’ordinateur Windows distant. Vous devrez peut-être modifier les options du débogueur distant en fonction de votre situation d’authentification.
Par exemple, sur l’ordinateur distant, dans la barre de menus Débogueur distant Visual Studio, sélectionnez Options d’outils>. Définissez le mode d’authentification pour qu’il corresponde à la configuration de votre environnement :
Ensuite, dans Visual Studio sur l’ordinateur hôte, mettez à jour le launch.vs.json
fichier pour qu’il corresponde. Par exemple, si vous choisissez Aucune authentification sur le débogueur distant, mettez à jour le launch.vs.json
fichier dans votre projet en ajoutant "authenticationType": "none"
à la configurations
section launch.vs.json
. Sinon, "authenticationType"
les "windows"
valeurs par défaut et n’ont pas besoin d’être explicitement indiquées. Cet exemple montre un launch.vs.json
fichier configuré pour aucune authentification :
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "remoteWindows",
"authenticationType": "none"
"name": "CMakeLists.txt",
"project": "CMakeLists.txt",
"projectTarget": "CMakeProject3.exe",
"remoteMachineName": "<ip address goes here>",
"cwd": "${debugInfo.defaultWorkingDirectory}",
"program": "${debugInfo.fullTargetPath}",
"deploy": [],
"args": [],
"env": {}
},
{
"type": "default",
"project": "CMakeLists.txt",
"projectTarget": "CMakeProject3.exe",
"name": "CMakeProject3.exe"
}
]
}
Déboguer l’application
Sur l’ordinateur hôte, dans visual Studio Explorateur de solutions, ouvrez le fichier CPP de votre projet CMake. Si vous êtes toujours en mode Cibles CMake, vous devez ouvrir le nœud (exécutable) pour le voir.
Le fichier CPP par défaut est une application console hello world simple. Définissez un point d’arrêt sur return 0;
.
Dans la barre d’outils Visual Studio, utilisez la liste déroulante Élément de démarrage pour sélectionner le nom que "name"
vous avez spécifié dans votre launch.vs.json
fichier :
Pour démarrer le débogage, dans la barre d’outils Visual Studio, choisissez Déboguer>le débogage (ou appuyez sur F5).
S’il ne démarre pas, vérifiez que les éléments suivants sont correctement définis dans le launch.vs.json
fichier :
"remoteMachineName"
doit être défini sur l’adresse IP, ou le nom de l’ordinateur, de l’ordinateur WINDOWS ARM64 distant."name"
doit correspondre à la sélection dans la liste déroulante des éléments de démarrage de Visual Studio."projectTarget"
doit correspondre au nom de la cible CMake que vous souhaitez déboguer."type"
doit avoir la valeur"remoteWindows"
- Si le type d’authentification sur le débogueur distant est défini sur Aucune authentification, vous devez avoir
"authenticationType": "none"
défini dans lelaunch.vs.json
fichier. - Si vous utilisez Authentification Windows, connectez-vous lorsque vous y êtes invité à utiliser un compte reconnu par l’ordinateur distant.
Une fois le projet généré, l’application doit apparaître sur l’ordinateur Windows ARM64 distant :
Visual Studio sur l’ordinateur hôte doit être arrêté au point d’arrêt pour return 0;
.
Ce que vous avez appris
Dans ce tutoriel, vous avez créé un projet CMake, configuré pour générer Windows sur ARM64 et l’avez débogué sur un ordinateur Windows ARM64 distant.
Étapes suivantes
Consultez les rubriques suivantes pour en savoir plus sur la configuration et le débogage des projets CMake dans Visual Studio :