Sdílet prostřednictvím


Ladění aplikací .NET na počítačích s jednou deskou ARM

Ladění .NET aplikací spuštěných na sbc založených na ARM, jako je Raspberry Pi, představuje jedinečnou výzvu. V případě potřeby můžete na zařízení nainstalovat Visual Studio Code a sadu .NET SDK a místně vyvíjet. Výkon zařízení je ale takový, že kódování a ladění místně není ideální. Rozšíření Visual Studio Code pro C# navíc není kompatibilní s 32bitovými operačními systémy ARM. V důsledku toho se funkce jako IntelliSense a ladění v Visual Studio Code na zařízeních ARM podporují jenom v 64bitových systémech.

Z těchto důvodů důrazně doporučujeme vyvíjet aplikaci na vývojovém počítači a pak ji nasadit do zařízení pro vzdálené ladění. Pokud chcete vyvíjet a ladit místně na zařízení, je nutné provést následující:

Zbytek tohoto článku popisuje, jak ladit .NET aplikace na počítačích s jednou deskou vzdáleně z vývojového počítače.

Ladění ve Visual Studio Code (napříč platformami)

Ladění .NET na počítačích s jednou deskou z Visual Studio Code vyžaduje kroky konfigurace na SBC a v souboru launch.json projektu.

Povolení SSH na SBC

Pro vzdálené ladění se vyžaduje protokol SSH. Pokud chcete povolit SSH na Raspberry Pi, přečtěte si téma Povolení SSH v dokumentaci k Raspberry Pi. Ujistěte se, že jste nakonfigurovali SSH bez hesla.

Důležité

Tento příklad vyžaduje, abyste na zařízení nakonfigurovali SSH bez hesla , protože OpenSSH nepodporuje předávání hesel na příkazovém řádku. Pokud potřebujete použít heslo, zvažte nahrazení nástroje Plink proSSH.

Instalace vzdáleného ladicího programu Visual Studio na SBC

V konzole Bash v SBC (buď v místní relaci nebo přes SSH), spusťte následující příkaz. Tento příkaz stáhne a nainstaluje vzdálený ladicí program Visual Studio na zařízení.

curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg

Nastavení launch.json v Visual Studio Code

Na vývojovém počítači přidejte do launch.jsonprojektu spouštěcí konfiguraci . Pokud projekt nemá soubor launch.json, přidejte ho tak, že přepnete na kartu Spustit, vyberete vytvoření souboru launch.json a v dialogovém okně zvolíte .NET nebo .NET Core.

Nová konfigurace v launch.json by měla vypadat nějak takto:

"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"
        }
    },

Všimněte si následujících věcí:

  • program je spustitelný soubor vytvořený nástrojem dotnet publish.
  • cwd je pracovní adresář, který se má použít při spuštění aplikace na zařízení.
  • pipeProgram je cesta k klientovi SSH na místním počítači.
  • pipeArgs jsou parametry, které se mají předat klientovi SSH. Nezapomeňte zadat parametr hesla i pi uživatele ve formátu <user>@<hostname>.

Nasazení aplikace

Nasaďte aplikaci, jak je popsáno v Deploy .NET aplikace do jednodeskových počítačů ARM. Ujistěte se, že je cesta nasazení stejná jako v parametru cwd v konfiguraci launch.json .

Spuštění ladicího programu

V Visual Studio Code vyberte na kartě Run and Debug konfiguraci, kterou jste přidali do launch.json a vyberte Start Debugging. Aplikace se spustí na zařízení. Ladicí program lze použít k nastavení zarážek, kontrole lokálních proměnných a dalších funkcí.

Ladění z Visual Studio na Windows

Visual Studio můžou ladit aplikace .NET na vzdálených zařízeních přes SSH. Na zařízení není nutná žádná specializovaná konfigurace. Podrobnosti o vzdáleném ladění .NET pomocí Visual Studio najdete v tématu Remote ladění .NET v Linuxu pomocí SSH.

Nezapomeňte vybrat proces dotnet, pokud ladíte nasazení závislé na rozhraní frameworku. Jinak se proces pojmenuje stejně jako spustitelný soubor aplikace.