Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Debugowanie aplikacji .NET działających na komputerach jednopłytkowych opartych na architekturze ARM, takich jak Raspberry Pi, stanowi unikatowe wyzwanie. W razie potrzeby możesz zainstalować Visual Studio Code i zestaw SDK .NET na urządzeniu i opracowywać lokalnie. Jednak wydajność urządzenia jest taka, że kodowanie i debugowanie lokalnie nie jest idealne. Ponadto rozszerzenie Visual Studio Code dla języka C# nie jest zgodne z 32-bitowymi systemami operacyjnymi ARM. W związku z tym funkcje takie jak IntelliSense i debugowanie w Visual Studio Code na urządzeniach ARM są obsługiwane tylko w systemach 64-bitowych.
Z tych powodów zdecydowanie zaleca się opracowanie aplikacji na komputerze dewelopera, a następnie wdrożenie aplikacji na urządzeniu w celu zdalnego debugowania. Jeśli chcesz opracowywać i debugować lokalnie na urządzeniu, wymagane są następujące elementy:
- 64-bitowy system operacyjny ze środowiskiem pulpitu, takim jak system operacyjny Raspberry Pi (64-bitowy).
-
Visual Studio Code z rozszerzeniem C#.
- Wyłącz przyspieszanie sprzętowe.
- .NET SDK 10 lub nowszy.
- Zainstaluj przy użyciu skryptu dotnet-installw ramach wdrożenia zależnego od platformy. Pamiętaj, aby dodać zmienną środowiskową
DOTNET_ROOToraz dodać katalog .dotnet do folderu$PATH.
- Zainstaluj przy użyciu skryptu dotnet-installw ramach wdrożenia zależnego od platformy. Pamiętaj, aby dodać zmienną środowiskową
W pozostałej części tego artykułu opisano sposób zdalnego debugowania aplikacji .NET na komputerach jednopokładzieniowych z komputera programistycznego.
Debugowanie z Visual Studio Code (międzyplatformowe)
Debugowanie .NET na komputerach jednopłytkowych z Visual Studio Code wymaga kroków konfiguracji na SBC oraz w pliku projektu launch.json.
Włączanie protokołu SSH na SBC
Protokół SSH jest wymagany do zdalnego debugowania. Aby włączyć protokół SSH na urządzeniu Raspberry Pi, zapoznaj się z artykułem Włączanie protokołu SSH w dokumentacji urządzenia Raspberry Pi. Upewnij się, że skonfigurowano logowanie SSH bez hasła.
Ważna
Ten przykład wymaga skonfigurowania bez hasła protokołu SSH na urządzeniu, ponieważ protokół OpenSSH nie obsługuje przekazywania haseł w wierszu polecenia. Jeśli musisz użyć hasła, rozważ zastąpienie narzędzia Plink dla protokołu SSH.
Instalowanie debugera zdalnego Visual Studio na serwerze SBC
W konsoli powłoki Bash na SBC (w sesji lokalnej lub za pośrednictwem protokołu SSH) uruchom następujące polecenie. To polecenie pobiera i instaluje Visual Studio Remote Debugger na urządzeniu:
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
Skonfiguruj launch.json w Visual Studio Code
Na komputerze dewelopera dodaj konfigurację uruchamiania do projektu launch.json. Jeśli projekt nie ma pliku launch.json, dodaj go, przechodząc na kartę Uruchom, wybierając opcję utwórz plik launch.json i wybierając .NET lub .NET Core w oknie dialogowym.
Nowa konfiguracja w launch.json powinna wyglądać podobnie do jednej z następujących opcji:
"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"
}
},
Zwróć uwagę na następujące kwestie:
-
programto plik wykonywalny utworzony przezdotnet publishprogram . -
cwdto katalog roboczy, który ma być używany podczas uruchamiania aplikacji na urządzeniu. -
pipeProgramto ścieżka do klienta SSH na komputerze lokalnym. -
pipeArgsto parametry, które mają być przekazywane do klienta SSH. Pamiętaj, aby określić parametr hasła, a takżepiużytkownika w formacie<user>@<hostname>.
Wdrażanie aplikacji
Wdróż aplikacje zgodnie z opisem w Deploy .NET apps to ARM single-board computers. Upewnij się, że ścieżka wdrożenia jest tą samą ścieżką określoną w parametrze cwd w konfiguracji launch.json .
Uruchamianie debugera
W Visual Studio Code na karcie Run and Debug wybierz konfigurację dodaną do launch.json i wybierz pozycję Start Debugowanie. Aplikacja zostanie uruchomiona na urządzeniu. Debuger może służyć do ustawiania punktów przerwania, inspekcji ustawień lokalnych i innych.
Debugowanie z Visual Studio w Windows
Visual Studio może debugować aplikacje .NET na urządzeniach zdalnych za pośrednictwem protokołu SSH. Na urządzeniu nie jest wymagana żadna specjalna konfiguracja. Aby uzyskać szczegółowe informacje na temat zdalnego debugowania .NET przy użyciu Visual Studio, zobacz Zdalne debugowanie .NET w systemie Linux przy użyciu protokołu SSH.
Pamiętaj, aby wybrać dotnet proces, jeśli debugujesz wdrożenie zależne od frameworku. W przeciwnym razie proces będzie miał taką samą nazwę jak plik wykonywalny aplikacji.