Ladění aplikací .NET na počítačích s jednou deskou ARM
Článek
Ladění aplikací .NET běžící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 editoru 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í:
64bitový operační systém s desktopovým prostředím, jako je Raspberry Pi OS (64bitová verze).
Nainstalujte pomocí skriptu dotnet-install jako v nasazení závislém na rozhraní. Nezapomeňte přidat proměnnou DOTNET_ROOT prostředí a přidat do $PATHadresáře .dotnet .
Zbytek tohoto článku popisuje, jak vzdáleně ladit aplikace .NET na počítačích s jedním panelem z vývojového počítače.
Důležité
Od tohoto psaní je vzdálené ladění aplikací .NET 7 v linux-arm prostředích nespolehlivé a může způsobit předčasné ukončení procesu. Tento problém se zkoumá. Aplikace .NET 6, které cílí linux-arm na aplikace .NET 7, linux-arm64 nejsou ovlivněné.
Ladění z editoru Visual Studio Code (pro různé platformy)
Ladění .NET na jednoúčelových počítačích ze sady Visual Studio Code vyžaduje kroky konfigurace v 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 sady 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 do zařízení vzdálený ladicí program sady Visual Studio:
Nastavení launch.json v editoru Visual Studio Code
Na vývojovém počítači přidejte do launch.json projektu spouštěcí konfiguraci. Pokud projekt nemá soubor launch.json , přidejte ho tak, že v dialogovém okně přepnete na kartu Spustit , vyberete launch.json soubor a vyberete .NET nebo .NET Core .
Nová konfigurace v launch.json by měla vypadat nějak takto:
program je cesta k modulu runtime .NET v zařízení.
args je cesta k sestavení pro ladění na zařízení.
cwd je pracovní adresář, který se má použít při spuštění aplikace na zařízení.
justMyCode je nastavená tak, aby false se ladicí program přerušil na zarážkách v kódu aplikace.
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 tématu Nasazení aplikací .NET do počítačů s jednou deskou ARM. Ujistěte se, že je cesta nasazení stejná jako v parametru cwdv konfiguraci launch.json .
Spuštění ladicího programu
V editoru Visual Studio Code na kartě Spustit a ladit vyberte konfiguraci, kterou jste přidali do launch.json , a vyberte Spustit ladění. Aplikace se spustí na zařízení. Ladicí program lze použít k nastavení zarážek, kontrole místních objektů a dalších.
Ladění ze sady Visual Studio ve Windows
Visual Studio může 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í sady Visual Studio najdete v tématu Vzdálené ladění .NET v Linuxu pomocí SSH.
Pokud ladíte nasazení závislé na rozhraní, nezapomeňte proces vybrat dotnet . Jinak se proces pojmenuje stejně jako spustitelný soubor aplikace.
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.