Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Foutopsporing .NET apps die worden uitgevoerd op OP ARM gebaseerde SBCs, zoals Raspberry Pi, biedt een unieke uitdaging. Desgewenst kunt u Visual Studio Code en de .NET SDK op het apparaat installeren en lokaal ontwikkelen. De prestaties van het apparaat zijn echter zodanig dat het lokaal coderen en foutopsporing niet ideaal is. Bovendien is de Visual Studio Code-extensie voor C# niet compatibel met 32-bits ARM-besturingssystemen. Daarom wordt functionaliteit zoals IntelliSense en foutopsporing in Visual Studio Code op ARM-apparaten alleen ondersteund in 64-bits systemen.
Daarom is het raadzaam om uw app te ontwikkelen op een ontwikkelcomputer en vervolgens de app op het apparaat te implementeren voor externe foutopsporing. Als u lokaal op het apparaat wilt ontwikkelen en fouten wilt opsporen, is het volgende vereist:
- Een 64-bits besturingssysteem met een bureaubladomgeving, zoals Raspberry Pi OS (64-bits).
-
Visual Studio Code met de extensie C#.
- Schakel de hardwareversnelling uit.
- .NET SDK 10 of hoger.
- Installeren met behulp van het dotnet-install-scriptzoals in een frameworkafhankelijke implementatie. Zorg ervoor dat u een
DOTNET_ROOTomgevingsvariabele toevoegt en de .dotnet-directory toevoegt aan$PATH.
- Installeren met behulp van het dotnet-install-scriptzoals in een frameworkafhankelijke implementatie. Zorg ervoor dat u een
In de rest van dit artikel wordt beschreven hoe u op afstand fouten kunt opsporen in .NET-apps op computers met één bord vanaf een ontwikkelcomputer.
Fouten opsporen vanuit Visual Studio Code (platformoverschrijdend)
Foutopsporing .NET op computers met één bord van Visual Studio Code vereist configuratiestappen op de SBC en in het bestand launch.json van het project.
SSH inschakelen op de SBC
SSH is vereist voor externe foutopsporing. Als u SSH op Raspberry Pi wilt inschakelen, raadpleegt u SSH inschakelen in de Raspberry Pi-documentatie. Zorg ervoor dat u SSH zonder wachtwoord hebt geconfigureerd.
Belangrijk
In dit voorbeeld moet u SSH zonder wachtwoord configureren op uw apparaat, omdat OpenSSH geen ondersteuning biedt voor het doorgeven van wachtwoorden op de opdrachtregel. Als u een wachtwoord moet gebruiken, kunt u overwegen om het hulpprogramma Plink voor ssh te vervangen.
Installeer het Visual Studio Remote Debugger op de SBC
Voer in een Bash-console op de SBC (in een lokale sessie of via SSH) de volgende opdracht uit. Met deze opdracht downloadt en installeert u het Visual Studio Remote Debugger op het apparaat:
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
launch.json instellen in Visual Studio Code
Voeg op de ontwikkelcomputer een startconfiguratie toe aan de launch.jsonvan het project. Als het project geen bestand launch.json heeft, voeg er een toe door over te schakelen naar het tabblad Run, createer een launch.json-bestand en selecteer .NET of .NET Core in het dialoogvenster.
De nieuwe configuratie in launch.json moet er ongeveer als volgt uitzien:
- Zelfstandig
- Frameworkafhankelijk
"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"
}
},
Let op het volgende:
-
programis het uitvoerbare bestand dat is gemaakt doordotnet publish. -
cwdis de werkmap die moet worden gebruikt bij het starten van de app op het apparaat. -
pipeProgramis het pad naar een SSH-client op de lokale computer. -
pipeArgszijn de parameters die moeten worden doorgegeven aan de SSH-client. Zorg ervoor dat u de wachtwoordparameter en depigebruiker in de indeling<user>@<hostname>opgeeft.
De app implementeren
Implementeer de app zoals beschreven in Deploy-.NET-apps op ARM-computers met één bord. Zorg ervoor dat het implementatiepad hetzelfde pad is dat is opgegeven in de cwd parameter in de launch.json-configuratie .
Het foutopsporingsprogramma starten
Selecteer in Visual Studio Code op het tabblad Run and Debug de configuratie die u hebt toegevoegd aan launch.json en selecteer Start Debugging. De app wordt gestart op het apparaat. Het debugger kan worden gebruikt om breakpoints in te stellen, lokale variabelen te inspecteren en meer.
Fouten opsporen vanuit Visual Studio op Windows
Visual Studio kan fouten opsporen in .NET apps op externe apparaten via SSH. Er is geen speciale configuratie vereist op het apparaat. Zie Remote debug .NET on Linux met behulp van SSH voor meer informatie over het gebruik van Visual Studio voor het opsporen van fouten in .NET op afstand.
Zorg ervoor dat u het dotnet proces selecteert als u fouten opspoort in een frameworkafhankelijke implementatie. Anders krijgt het proces dezelfde naam als het uitvoerbare bestand van de app.