Depurar aplicativos .NET em computadores de placa única ARM
Artigo
Depurar aplicativos .NET executados em SBCs baseados em ARM como o Raspberry Pi apresenta um desafio único. Se desejar, você pode instalar o Visual Studio Code e o SDK do .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 operacionais ARM de 32 bits. Consequentemente, funcionalidades como IntelliSense e depuração no Visual Studio Code em dispositivos ARM só são suportadas em sistemas de 64 bits.
Por esses motivos, é altamente recomendável que você desenvolva seu aplicativo em um computador de desenvolvimento e, em seguida, implante o aplicativo no dispositivo para depuração remota. Se você deseja desenvolver e depurar localmente no dispositivo, o seguinte é necessário:
Um sistema operacional de 64 bits com um ambiente de desktop, como o Raspberry Pi OS (64 bits).
Instale usando o script dotnet-install como em uma implantação dependente da estrutura. Certifique-se de adicionar uma DOTNET_ROOT variável de ambiente e adicionar o diretório .dotnet ao $PATH.
O restante deste artigo descreve como depurar aplicativos .NET em computadores de placa única remotamente a partir de um computador de desenvolvimento.
Importante
No momento em que este artigo foi escrito, a depuração remota de aplicativos .NET 7 em linux-arm ambientes não é confiável e pode fazer com que o processo saia prematuramente. Esta questão está a ser investigada. Os aplicativos .NET 6 destinados linux-arm e os aplicativos .NET 7 destinados linux-arm64 não são afetados.
Depurar do Visual Studio Code (plataforma cruzada)
A depuração do .NET em computadores de placa única do Visual Studio Code requer etapas de configuração no SBC e no arquivo launch.json do projeto.
Ativar SSH no SBC
SSH é necessário para depuração remota. Para habilitar o SSH no Raspberry Pi, consulte Ativar SSH na documentação do Raspberry Pi. Certifique-se de ter configurado SSH sem senha.
Importante
Este exemplo requer que você configure o SSH sem senha em seu dispositivo, pois o OpenSSH não suporta a passagem de senhas na linha de comando. Se você precisar usar uma senha, considere substituir a ferramenta Plink por ssh.
Instalar o depurador remoto do Visual Studio no SBC
Dentro de um console Bash no SBC (em uma sessão local ou via SSH), execute o seguinte comando. Este comando baixa e instala o Depurador Remoto do Visual Studio no dispositivo:
No computador de desenvolvimento, adicione uma configuração de inicialização ao launch.json do projeto. Se o projeto não tiver um arquivo launch.json , adicione um alternando para a guia Executar , selecionando criar um arquivo launch.json e selecionando .NET ou .NET Core na caixa de diálogo.
A nova configuração no launch.json deve ser semelhante a uma das seguintes:
program é o arquivo executável criado por dotnet publish.
cwd é o diretório de trabalho a ser usado ao iniciar o aplicativo no dispositivo.
pipeProgram é o caminho para um cliente SSH na máquina local.
pipeArgs são os parâmetros a serem passados para o cliente SSH. Certifique-se de especificar o parâmetro password, bem como o pi usuário no formato <user>@<hostname>.
program é o caminho para o tempo de execução do .NET no dispositivo.
args é o caminho para o assembly a ser depurado no dispositivo.
cwd é o diretório de trabalho a ser usado ao iniciar o aplicativo no dispositivo.
justMyCode é definido para false garantir que o depurador quebre em pontos de interrupção no código do aplicativo.
pipeProgram é o caminho para um cliente SSH na máquina local.
pipeArgs são os parâmetros a serem passados para o cliente SSH. Certifique-se de especificar o parâmetro password, bem como o pi usuário no formato <user>@<hostname>.
Implementar a aplicação
Implante o aplicativo conforme descrito em Implantar aplicativos .NET em computadores de placa única ARM. Verifique se o caminho de implantação é o mesmo especificado no cwd parâmetro na configuração launch.json.
Iniciar o depurador
No Visual Studio Code, na guia Executar e Depurar , selecione a configuração que você adicionou ao launch.json e selecione Iniciar Depuração. O aplicativo é iniciado no dispositivo. O depurador pode ser usado para definir pontos de interrupção, inspecionar locais e muito mais.
Depurar do Visual Studio no Windows
O Visual Studio pode depurar aplicativos .NET em dispositivos remotos via SSH. Nenhuma configuração especializada é necessária no dispositivo. Para obter detalhes sobre como usar o Visual Studio para depurar o .NET remotamente, consulte Depuração remota do .NET no Linux usando SSH.
Certifique-se de selecionar o dotnet processo se estiver depurando uma implantação dependente da estrutura. Caso contrário, o processo será nomeado da mesma forma que o executável do aplicativo.
Colabore connosco no GitHub
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
Treinamento prático para implantar e depurar remotamente seus aplicativos ASP.NET Core no Serviço de Aplicativo do Azure diretamente usando o Visual Studio 2022.
Crie soluções de ponta a ponta no Microsoft Azure para criar Funções do Azure, implementar e gerenciar aplicativos Web, desenvolver soluções utilizando o Armazenamento do Microsoft Azure e muito mais.