Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le débogage d’applications .NET s’exécutant sur des SBC basés sur ARM comme Raspberry Pi présente un défi unique. Si vous le souhaitez, vous pouvez installer Visual Studio Code et le SDK .NET sur l’appareil et développer localement. Toutefois, les performances de l’appareil sont telles que le codage et le débogage localement ne sont pas idéaux. En outre, l’extension Visual Studio Code pour C# n’est pas compatible avec les systèmes d’exploitation ARM 32 bits. Par conséquent, les fonctionnalités telles qu’IntelliSense et le débogage dans Visual Studio Code sur les appareils ARM ne sont prises en charge que dans les systèmes 64 bits.
Pour ces raisons, il est fortement recommandé de développer votre application sur un ordinateur de développement, puis de déployer l’application sur l’appareil pour le débogage à distance. Si vous souhaitez développer et déboguer localement sur l’appareil, vous devez procéder comme suit :
- Un système d’exploitation 64 bits avec un environnement de bureau, tel que Raspberry Pi OS (64 bits).
-
Visual Studio Code avec l’extension C#.
- Désactivez l’accélération matérielle.
- .NET SDK 10 ou version ultérieure.
- Installez à l’aide du script dotnet-installcomme dans un déploiement dépendant de l’infrastructure. Veillez à ajouter une variable d’environnement
DOTNET_ROOTet à ajouter le répertoire .dotnet à$PATH.
- Installez à l’aide du script dotnet-installcomme dans un déploiement dépendant de l’infrastructure. Veillez à ajouter une variable d’environnement
Le reste de cet article explique comment déboguer des applications .NET sur des ordinateurs à carte unique à distance à partir d’un ordinateur de développement.
Déboguer à partir de Visual Studio Code (multiplateforme)
Le débogage .NET sur des ordinateurs à carte unique à partir de Visual Studio Code nécessite des étapes de configuration sur le SBC et dans le fichier launch.json du projet.
Activer SSH sur le SBC
SSH est requis pour le débogage à distance. Pour activer SSH sur Raspberry Pi, reportez-vous à Activer SSH dans la documentation Raspberry Pi. Vérifiez que vous avez configuré SSH sans mot de passe.
Important
Cet exemple vous oblige à configurer SSH sans mot de passe sur votre appareil, car OpenSSH ne prend pas en charge le passage de mots de passe sur la ligne de commande. Si vous devez utiliser un mot de passe, envisagez de remplacer l’outil Plink pour ssh.
Installer le débogueur distant Visual Studio sur le SBC
Dans une console Bash sur le SBC (dans une session locale ou via SSH), exécutez la commande suivante. Cette commande télécharge et installe le débogueur distant Visual Studio sur l’appareil :
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
Configurer launch.json dans Visual Studio Code
Sur l’ordinateur de développement, ajoutez une configuration de lancement au launch.jsondu projet. Si le projet n'a pas de fichier launch.json, ajoutez-en un en basculant vers l'onglet Run, en sélectionnant créer un fichier launch.json et en sélectionnant .NET ou .NET Core dans la boîte de dialogue.
La nouvelle configuration dans launch.json doit ressembler à l’une des options suivantes :
"configurations": [
{
"name": ".NET Remote Launch - Self-contained",
"type": "coreclr",
"request": "launch",
"program": "~/sample/sample",
"args": [],
"cwd": "~/sample",
"stopAtEntry": false,
"console": "internalConsole",
"pipeTransport": {
"pipeCwd": "${workspaceRoot}",
"pipeProgram": "ssh",
"pipeArgs": [
"pi@raspberrypi"
],
"debuggerPath": "~/vsdbg/vsdbg"
}
},
Notez les points suivants :
-
programest le fichier exécutable créé pardotnet publish. -
cwdest le répertoire de travail à utiliser lors du lancement de l’application sur l’appareil. -
pipeProgramest le chemin d’accès à un client SSH sur l’ordinateur local. -
pipeArgssont les paramètres à passer au client SSH. Veillez à spécifier le paramètre de mot de passe, ainsi que l’utilisateurpiau format<user>@<hostname>.
Déployer l’application
Déployez l’application comme décrit dans Déployer des applications .NET sur des ordinateurs à carte unique ARM. Vérifiez que le chemin d’accès au déploiement est le même chemin spécifié dans le cwd paramètre dans la configuration launch.json .
Lancer le débogueur
Dans Visual Studio Code, sous l’onglet Run and Debug , sélectionnez la configuration que vous avez ajoutée à launch.json et sélectionnez Start Debugging. L’application démarre sur l’appareil. Le débogueur peut être utilisé pour définir des points d’arrêt, inspecter les variables locales, etc.
Déboguer à partir de Visual Studio sur Windows
Visual Studio pouvez déboguer des applications .NET sur des appareils distants via SSH. Aucune configuration spécialisée n’est requise sur l’appareil. Pour plus d’informations sur l’utilisation de Visual Studio pour déboguer .NET à distance, consultez Déboguer .NET sur Linux à l’aide de SSH.
Veillez à sélectionner le dotnet processus si vous déboguez un déploiement dépendant du framework. Dans le cas contraire, le processus sera nommé de la même façon que l’exécutable de l’application.