Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Od sady Visual Studio 2017 se můžete připojit k procesům .NET Core a .NET 5+ spuštěným v místním nebo vzdáleném nasazení Linuxu přes Secure Shell (SSH). Tento článek popisuje, jak nastavit a provádět ladění. Scénáře ladění pomocí kontejnerů Dockeru najdete v tématu Připojení k procesu spuštěného v kontejneru Dockeru a v článcích o nástrojích kontejneru . Pokud chcete ladit Linux ve WSL 2 ze sady Visual Studio (bez připojení k procesu), přečtěte si téma Ladění aplikací .NET Core ve WSL 2 pomocí sady Visual Studio.
Poznámka:
Pro ladění Linuxu, který běží ve službě Azure Kubernetes Service (AKS), se místo připojení k procesu doporučuje použít Bridge to Kubernetes.
Požadavky
Na linuxovém serveru musíte nainstalovat server SSH, rozbalit a nainstalovat pomocí nástroje curl nebo wget. Například na Ubuntu to můžete udělat spuštěním:
sudo apt-get install openssh-server unzip curlSFTP i SSH musí být povoleny. Většina distribucí SSH ve výchozím nastavení nainstaluje a povolí SFTP, ale to není vždy případ.
Na serveru s Linuxem nainstalujte modul runtime .NET v Linuxu a najděte stránku odpovídající vaší distribuci Linuxu (například Ubuntu). Sada .NET SDK není nutná.
Abyste měli jistotu, že jsou k dispozici požadované služby ladění .NET, vyhněte se publikování aplikace jako jednosouborového spustitelného souboru.
Komplexní pokyny pro ASP.NET Core najdete v tématu Host ASP.NET Core v Linuxu s Nginx a Host ASP.NET Core v Linuxu s Apache.
Příprava aplikace na ladění
Při sestavování aplikace zvažte použití konfigurace ladění. Ladění kódu kompilovaného v konfiguraci vydání (Release) je obtížnější než ladění debug-kompilovaného kódu. Pokud potřebujete použít konfiguraci vydané verze, nejprve zakažte funkci Jen můj kód. Otevřete panel Nástroje>Možnosti a rozbalte sekci Všechna nastavení>Ladění>Obecné. Zrušte zaškrtnutí políčka Povolit pouze můj kód .
Při sestavování aplikace zvažte použití konfigurace ladění. Ladění kódu kompilovaného v konfiguraci vydání (Release) je obtížnější než ladění debug-kompilovaného kódu. Pokud potřebujete použít konfiguraci vydané verze, nejprve zakažte funkci Jen můj kód. Otevřete dialogové oknoMožnosti> a rozbalte část Ladění>Obecné. Zrušte zaškrtnutí políčka Povolit pouze můj kód .
Ujistěte se, že je projekt nakonfigurovaný tak, aby vytvářel přenosné soubory PDB (což je výchozí nastavení) a ujistěte se, že jsou soubory PDB ve stejném umístění jako knihovna DLL. Pro konfiguraci v sadě Visual Studio klikněte pravým tlačítkem myši na projekt a vyberte Vlastnosti>Obecné>Symboly ladění.
Ujistěte se, že je projekt nakonfigurovaný tak, aby vytvářel přenosné soubory PDB (což je výchozí nastavení) a ujistěte se, že jsou soubory PDB ve stejném umístění jako knihovna DLL. Chcete-li toto konfigurovat v sadě Visual Studio, klikněte pravým tlačítkem myši na projekt a potom zvolte Vlastnosti>Sestavit>Rozšířené>Informace o ladění.
Sestavení a nasazení aplikace
Před zahájením ladění můžete k nasazení aplikace použít několik metod. Například můžete:
Zkopírujte soubory zdrojů do cílového počítače a sestavte je pomocí
dotnet buildna počítači s Linuxem.Sestavte aplikaci ve Windows a pak přeneste artefakty sestavení do počítače s Linuxem. (Artefakty sestavení se skládají ze samotné aplikace, přenosných souborů PDB, všech knihoven modulu runtime, na kterých může záviset, a souboru.deps.json .)
Po nasazení aplikace spusťte aplikaci.
Připojte ladicí program
Jakmile je aplikace spuštěna na počítači s Linuxem, jste připraveni připojit debugger.
V sadě Visual Studio zvolteladění>
V seznamu Typ připojení vyberte SSH.
Změňte cíl připojení na IP adresu nebo název hostitele cílového počítače.
Pokud jste nezadali přihlašovací údaje, zobrazí se výzva k zadání hesla nebo souboru privátního klíče. Další informace o použití souboru privátního klíče naleznete v tématu Nastavení vzdáleného připojení.
Neexistují žádné požadavky na porty ke konfiguraci, s výjimkou portu, na kterém je server SSH spuštěný.
Vyhledejte proces, který chcete ladit.
Váš kód běží buď v jedinečném názvu procesu, nebo v procesu s názvem dotnet. Pokud chcete najít proces, který vás zajímá, zkontrolujte sloupec Název , který zobrazuje argumenty příkazového řádku pro daný proces.
V následujícím příkladu uvidíte seznam procesů ze vzdáleného počítače s Linuxem přes přenos SSH zobrazený v dialogovém okně Připojit k procesu .
Zvolte Připojit.
V zobrazeném dialogovém okně vyberte typ kódu, který chcete ladit. Zvolte Managed (.NET Core pro Unix).
K ladění aplikace použijte funkce ladění sady Visual Studio.
V následujícím příkladu uvidíte ladicí program Visual Studio zastavený na bodě přerušení v kódu spuštěném na vzdáleném počítači s Linuxem.