Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Depurar apps .NET que estão a correr em SBCs baseados em ARM, como o Raspberry Pi, apresenta um desafio único. Se quiseres, podes instalar o Visual Studio Code e o SDK .NET no dispositivo e desenvolver localmente. No entanto, o desempenho do dispositivo é tal que codificar e depurar localmente não é ideal. Além disso, a extensão Visual Studio Code para C# não é compatível com sistemas operativos ARM de 32 bits. Consequentemente, funcionalidades como o IntelliSense e a depuração no Visual Studio Code em dispositivos ARM só são suportadas em sistemas de 64 bits.
Por estas razões, é fortemente recomendado que desenvolvas a tua aplicação num computador de desenvolvimento e depois a implementes no dispositivo para depuração remota. Se desejar desenvolver e depurar localmente no dispositivo, necessitará do seguinte:
- Um sistema operativo de 64 bits com ambiente de trabalho, como o Raspberry Pi OS (64 bits).
-
Visual Studio Code com a extensão C#.
- Desativa a aceleração por hardware.
- .NET SDK 10 ou posterior.
- Instale usando o script dotnet-installcomo numa implementação dependente do framework. Certifique-se de adicionar uma
DOTNET_ROOTvariável de ambiente e adicionar o diretório .dotnet a$PATH.
- Instale usando o script dotnet-installcomo numa implementação dependente do framework. Certifique-se de adicionar uma
O restante deste artigo descreve como depurar aplicações .NET em computadores de placa única remotamente a partir de um computador de desenvolvimento.
Debug do Visual Studio Code (multiplataforma)
Depurar .NET em computadores de placa única a partir de Visual Studio Code requer passos de configuração no SBC e no ficheiro launch.json do projeto.
Ativar SSH no SBC
Para a depuração remota, é necessário SSH. Para ativar o SSH no Raspberry Pi, consulte Ativar SSH na documentação do Raspberry Pi. Certifique-se de que tem o SSH sem palavra-passe configurado.
Importante
Este exemplo exige que configure o SSH sem palavra-passe no seu dispositivo, pois o OpenSSH não suporta passar palavras-passe na linha de comandos. Se precisares de usar uma palavra-passe, considera substituir a ferramenta Plink por ssh.
Instale o Visual Studio Remote Debugger no SBC
Dentro de uma consola Bash no SBC (seja numa sessão local ou via SSH), execute o seguinte comando. Este comando descarrega e instala o Visual Studio Remote Debugger no dispositivo:
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
Configurar o ficheiro launch.json no Visual Studio Code
No computador de desenvolvimento, adicione uma configuração de lançamento ao launch.jsondo projeto. Se o projeto não tiver um ficheiro launch.json, adicione um mudando para o separador Run, selecionando criar um ficheiro launch.json e selecionando .NET ou .NET Core no diálogo.
A nova configuração em launch.json deverá assemelhar-se a uma das seguintes:
"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"
}
},
Observe o seguinte:
-
programé o ficheiro executável criado pordotnet publish. -
cwdé o diretório de trabalho a usar ao iniciar a aplicação no dispositivo. -
pipeProgramé o caminho para um cliente SSH na máquina local. -
pipeArgssão os parâmetros a serem passados ao cliente SSH. Certifique-se de especificar o parâmetro da palavra-passe, bem como opiutilizador no formato<user>@<hostname>.
Implantar o aplicativo
Implemente a aplicação conforme descrito em Implemente .NET aplicações para computadores ARM de placa única. Certifique-se de que o caminho de implementação é o mesmo especificado no cwd parâmetro da configuração launch.json.
Inicie o depurador
No Visual Studio Code, no separador Run and Debug, selecione a configuração que adicionou a launch.json e selecione Start Debuggging. A aplicação inicia-se no dispositivo. O depurador pode ser usado para definir pontos de interrupção, inspecionar variáveis locais, entre outras funções.
Depurar a partir do Visual Studio no Windows
O Visual Studio pode depurar aplicações .NET em dispositivos remotos via SSH. Não é necessária uma configuração especializada no dispositivo. Para detalhes sobre o uso de Visual Studio para depurar .NET remotamente, veja Remote debug .NET no Linux usando SSH.
Certifique-se de selecionar o dotnet processo se estiver a depurar uma implementação dependente do framework. Caso contrário, o processo terá o mesmo nome que o executável da aplicação.