Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il debug di app .NET in esecuzione su SBC basati su ARM come Raspberry Pi presenta una sfida unica. Se lo si desidera, è possibile installare Visual Studio Code e .NET SDK nel dispositivo e sviluppare localmente. Tuttavia, le prestazioni del dispositivo sono tali che la codifica e il debug in locale non sono ideali. Inoltre, l'estensione Visual Studio Code per C# non è compatibile con i sistemi operativi ARM a 32 bit. Di conseguenza, le funzionalità come IntelliSense e il debug in Visual Studio Code nei dispositivi ARM sono supportati solo nei sistemi a 64 bit.
Per questi motivi, è consigliabile sviluppare l'app in un computer di sviluppo e quindi distribuire l'app nel dispositivo per il debug remoto. Se si vuole sviluppare ed eseguire il debug in locale nel dispositivo, è necessario quanto segue:
- Un sistema operativo a 64 bit con un ambiente desktop, ad esempio Raspberry Pi OS (64 bit).
-
Visual Studio Code con l'estensione C#.
- Disabilitare l'accelerazione hardware.
- .NET SDK 10 o versione successiva.
- Installare usando lo script dotnet-installcome in una distribuzione dipendente dal framework. Assicurarsi di aggiungere una
DOTNET_ROOTvariabile di ambiente e aggiungere la directory .dotnet a$PATH.
- Installare usando lo script dotnet-installcome in una distribuzione dipendente dal framework. Assicurarsi di aggiungere una
Il resto di questo articolo descrive come eseguire il debug di app .NET in computer a singola scheda in remoto da un computer di sviluppo.
Eseguire il debug da Visual Studio Code (multipiattaforma)
Il debug di .NET in computer a scheda singola da Visual Studio Code richiede passaggi di configurazione nel file SBC e nel file launch.json del progetto.
Abilitare SSH nel SBC
SSH è necessario per il debug remoto. Per abilitare SSH in Raspberry Pi, vedere Abilitare SSH nella documentazione di Raspberry Pi. Assicurarsi di aver configurato SSH senza password.
Importante
Questo esempio richiede di configurare SSH senza password nel dispositivo, perché OpenSSH non supporta il passaggio di password nella riga di comando. Se è necessario usare una password, è consigliabile sostituire lo strumento Plink per ssh.
Installare il debugger remoto Visual Studio nel SBC
All'interno di una console Bash in SBC (in una sessione locale o tramite SSH), eseguire il comando seguente. Questo comando scarica e installa il debugger remoto Visual Studio nel dispositivo:
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
Configurare launch.json in Visual Studio Code
Nel computer di sviluppo aggiungere una configurazione di avvio al launch.jsondel progetto. Se il progetto non dispone di un file launch.json, aggiungerne uno passando alla scheda Run, selezionando create a launch.json file e selezionando .NET o .NET Core nella finestra di dialogo.
La nuova configurazione in launch.json dovrebbe essere simile a una delle seguenti:
"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"
}
},
Si noti quanto segue:
-
programè il file eseguibile creato dadotnet publish. -
cwdè la directory di lavoro da usare quando si avvia l'app nel dispositivo. -
pipeProgramè il percorso di un client SSH nel computer locale. -
pipeArgssono i parametri da passare al client SSH. Assicurarsi di specificare il parametro password, nonché l'utentepinel formato<user>@<hostname>.
Distribuire l'app
Distribuire l'app come descritto in Distribuire le app .NET nei computer a scheda unica ARM. Verificare che il percorso di distribuzione sia lo stesso percorso specificato nel cwd parametro nella configurazione launch.json .
Avviare il debugger
Nella scheda Visual Studio Code Esegui e debug selezionare la configurazione aggiunta a launch.json e selezionare Avvia debug. L'app viene avviata nel dispositivo. Il debugger può essere usato per impostare punti di interruzione, controllare le variabili locali e altro ancora.
Eseguire il debug da Visual Studio in Windows
Visual Studio può eseguire il debug di app .NET su dispositivi remoti tramite SSH. Non è necessaria alcuna configurazione specializzata nel dispositivo. Per informazioni dettagliate sull'uso di Visual Studio per eseguire il debug remoto di .NET, vedere Esame del debug remoto di .NET su Linux tramite SSH.
Assicurati di selezionare il processo dotnet se stai eseguendo il debug di una distribuzione dipendente dal framework. In caso contrario, il processo avrà lo stesso nome dell'eseguibile dell'applicazione.