Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Debuggen von .NET Apps, die auf ARM-basierten SBCs wie Raspberry Pi ausgeführt werden, stellt eine einzigartige Herausforderung dar. Bei Bedarf können Sie Visual Studio Code und das .NET SDK auf dem Gerät installieren und lokal entwickeln. Die Leistung des Geräts ist jedoch so, dass das Codieren und Debuggen lokal nicht ideal ist. Darüber hinaus ist die Visual Studio Code-Erweiterung für C# nicht kompatibel mit 32-Bit-ARM-Betriebssystemen. Daher werden Funktionen wie IntelliSense und Debugging in Visual Studio Code auf ARM-Geräten nur in 64-Bit-Systemen unterstützt.
Aus diesen Gründen wird dringend empfohlen, Ihre App auf einem Entwicklungscomputer zu entwickeln und die App dann für das Remotedebugging auf dem Gerät bereitzustellen. Wenn Sie lokal auf dem Gerät entwickeln und debuggen möchten, ist Folgendes erforderlich:
- Ein 64-Bit-Betriebssystem mit einer Desktopumgebung wie Raspberry Pi OS (64-Bit).
-
Visual Studio Code mit der Erweiterung C#.
- Deaktivieren Sie die Hardwarebeschleunigung.
- .NET SDK 10 oder höher.
- Verwenden Sie das dotnet-install-Skript, wie bei einer frameworkabhängigen Bereitstellung. Fügen Sie unbedingt eine
DOTNET_ROOTUmgebungsvariable hinzu, und fügen Sie das DOTNET-Verzeichnis hinzu$PATH.
- Verwenden Sie das dotnet-install-Skript, wie bei einer frameworkabhängigen Bereitstellung. Fügen Sie unbedingt eine
Im restlichen Artikel wird beschrieben, wie Sie .NET Apps auf Single-Board-Computern remote von einem Entwicklungscomputer debuggen.
Debuggen von Visual Studio Code (plattformübergreifend)
Für das Debuggen von .NET auf Computern mit einem Board von Visual Studio Code sind Konfigurationsschritte auf dem SBC und in der Datei launch.json des Projekts erforderlich.
Aktivieren von SSH auf dem SBC
SSH ist für das Remotedebugging erforderlich. Informationen zum Aktivieren von SSH auf Raspberry Pi finden Sie in der Raspberry Pi-Dokumentation zum Aktivieren von SSH. Stellen Sie sicher, dass Sie kennwortlose SSH konfiguriert haben.
Von Bedeutung
In diesem Beispiel müssen Sie kennwortlose SSH auf Ihrem Gerät konfigurieren, da OpenSSH das Übergeben von Kennwörtern in der Befehlszeile nicht unterstützt. Wenn Sie ein Kennwort verwenden müssen, erwägen Sie, das Plink-Tool für ssh zu ersetzen.
Installieren Sie den Visual Studio Remotedebugger auf dem SBC
Führen Sie in einer Bash-Konsole auf dem SBC (entweder in einer lokalen Sitzung oder über SSH) den folgenden Befehl aus. Mit diesem Befehl wird der Visual Studio Remotedebugger auf dem Gerät heruntergeladen und installiert:
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
Einrichten von launch.json in Visual Studio Code
Fügen Sie auf dem Entwicklungscomputer eine Startkonfiguration zur launch.json des Projekts hinzu. Wenn das Projekt nicht über eine
Die neue Konfiguration in launch.json sollte ähnlich wie folgt aussehen:
"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"
}
},
Beachten Sie Folgendes:
-
programist die ausführbare Datei, die vondotnet publisherzeugt wurde. -
cwdist das Arbeitsverzeichnis, das beim Starten der App auf dem Gerät verwendet werden soll. -
pipeProgramist der Pfad zu einem SSH-Client auf dem lokalen Computer. -
pipeArgssind die Parameter, die an den SSH-Client übergeben werden sollen. Achten Sie darauf, den Kennwortparameter sowie denpiBenutzer im Format<user>@<hostname>anzugeben.
Bereitstellen der App
Stellen Sie die App wie in Deploy .NET Apps auf ARM Single-Board-Computern bereit. Stellen Sie sicher, dass der Bereitstellungspfad derselbe Pfad ist, der im Parameter in der cwd konfigurationlaunch.json angegeben ist.
Starten des Debuggers
Wählen Sie in Visual Studio Code auf der Registerkarte Run and Debug die Konfiguration aus, die Sie launch.json hinzugefügt haben, und wählen Sie Start Debugging aus. Die App wird auf dem Gerät gestartet. Der Debugger kann verwendet werden, um Haltepunkte festzulegen, lokale Variablen zu inspizieren und vieles mehr.
Debuggen von Visual Studio auf Windows
Visual Studio können .NET Apps auf Remotegeräten über SSH debuggen. Auf dem Gerät ist keine spezielle Konfiguration erforderlich. Ausführliche Informationen zum .NET Remotedebugging von Visual Studio finden Sie unter Remote debug .NET unter Linux mit SSH.
Achten Sie darauf, den dotnet Prozess auszuwählen, wenn Sie eine frameworkabhängige Bereitstellung debuggen. Andernfalls wird der Prozess genauso benannt wie die ausführbare Datei der App.