Megosztás:


A .NET Core hibakeresése Linuxon SSH használatával egy folyamat csatolásával

A Visual Studio 2017-től kezdve a Secure Shellen (SSH) keresztül helyi vagy távoli Linux-telepítésen futó .NET Core- és .NET 5+-folyamatokhoz csatolhat. Ez a cikk bemutatja, hogyan állíthatja be a hibakeresést és hogyan végezhet hibakeresést. A Docker-tárolókat használó hibakeresési forgatókönyvek esetében lásd: Csatolás docker-tárolón futó folyamathoz és a tárolóeszközökkel kapcsolatos cikkek. Linux hibakeresése a WSL 2-n a Visual Studioból (nem csatlakozva a folyamathoz), lásd a .NET Core-alkalmazások hibakeresése a WSL 2-ben a Visual Studioval.

Megjegyzés:

Az Azure Kubernetes Service-en (AKS) futó Linux hibakereséséhez a folyamathoz csatolás helyett a Bridge to Kubernetes ajánlott.

Előfeltételek

  • A Linux-kiszolgálón telepítenie kell az SSH-kiszolgálót, ki kell bontania és telepítenie kell curl vagy wget használatával. Az Ubuntu esetében például a következő parancs futtatásával teheti meg:

    sudo apt-get install openssh-server unzip curl
    

    Az SFTP-t és az SSH-t is engedélyezni kell. A legtöbb SSH-disztribúció alapértelmezés szerint telepíti és engedélyezi az SFTP-t, de ez nem mindig így van.

  • Linux-kiszolgálón telepítse a .NET-futtatókörnyezetet Linuxon, és keresse meg a Linux-disztribúciónak megfelelő lapot (például Ubuntu). A .NET SDK-ra nincs szükség.

    Ha gondoskodni szeretne arról, hogy a szükséges .NET-hibakeresési szolgáltatások elérhetők legyenek a hibakereséshez, kerülje az alkalmazás egyetlen fájlként végrehajthatóként való közzétételét.

  • Az átfogó ASP.NET Core-utasításokért lásd: Host ASP.NET Core on Linux with Nginx and Host ASP.NET Core on Linux with Apache.

Az alkalmazás előkészítése hibakeresésre

Érdemes lehet hibakeresési konfigurációt használni az alkalmazás létrehozásakor. A kiskereskedelmi fordítású kód (kiadási konfiguráció) hibakeresése nehezebb, mint a hibakeresésre lefordított kód. Ha kiadási konfigurációt kell használnia, először tiltsa le a Just My Code funkciót. Nyissa meg az Eszközök>beállításai panelt, és bontsa ki a Minden beállítás>hibakeresése általános szakaszt>. Törölje a jelet a Csak saját kód engedélyezése jelölőnégyzetből.

Érdemes lehet hibakeresési konfigurációt használni az alkalmazás létrehozásakor. A kiskereskedelmi fordítású kód (kiadási konfiguráció) hibakeresése nehezebb, mint a hibakeresésre lefordított kód. Ha kiadási konfigurációt kell használnia, először tiltsa le a Just My Code funkciót. Nyissa meg az Eszközök>beállításai párbeszédpanelt, és bontsa ki azÁltalános>. Törölje a jelet a Csak saját kód engedélyezése jelölőnégyzetből.

Győződjön meg arról, hogy a projekt hordozható PDF-fájlok létrehozására van konfigurálva (ez az alapértelmezett beállítás), és győződjön meg arról, hogy a PDF-fájlok ugyanabban a helyen vannak, mint a DLL. Ha ezt a Visual Studióban szeretné konfigurálni, kattintson a jobb gombbal a projektre, majd válassza a Tulajdonságok>általános>hibakeresési szimbólumok lehetőséget.

Az alkalmazás létrehozása és üzembe helyezése

A hibakeresés megkezdése előtt több módszerrel is üzembe helyezheti az alkalmazást. Például megteheted a következőket:

  • Másolja a forrásokat a célszámítógépre, és építs a dotnet build segítségével a Linux-gépen.

  • Hozza létre az alkalmazást Windows rendszeren, majd adja át a buildösszetevőket a Linux-gépre. (A buildösszetevők magukból az alkalmazásból, a hordozható PDF-ekből, az esetlegesen használt futtatókörnyezeti kódtárakból és a .deps.json fájlból állnak.)

Az alkalmazás üzembe helyezésekor indítsa el az alkalmazást.

A hibakereső csatolása

Amikor az alkalmazás linuxos gépen fut, készen áll a hibakereső csatlakoztatására.

  1. A Visual Studióban válassza a Debug> lehetőséget.

  2. A Kapcsolattípus listában válassza az SSH-t.

  3. Módosítsa a kapcsolati célhelyet a célszámítógép IP-címére vagy állomásnevére.

    Ha nem adta meg a hitelesítő adatokat, a rendszer kéri, hogy adjon meg egy jelszót és/vagy titkos kulcsfájlt. A titkos kulcsok fájljának használatáról további információt a Távoli kapcsolat beállítása című témakörben talál.

    Nincsenek konfigurálható portkövetelmények, kivéve azt a portot, amelyen az SSH-kiszolgáló fut.

  4. Keresse meg azt a folyamatot, amelyet hibakeresni szeretne.

    A kód egyedi folyamatnévvel vagy dotnet nevű folyamattal fut. A kívánt folyamat megkereséséhez jelölje be a Cím oszlopot, amely a folyamat parancssori argumentumait jeleníti meg.

    Az alábbi példában egy távoli Linux-gép folyamatainak listája jelenik meg egy SSH-átvitelen keresztül a Folyamat csatolása párbeszédpanelen.

    Képernyőkép a csatlakozásról a Linux-folyamathoz.

  5. Válassza a Csatoláslehetőséget.

    A megjelenő párbeszédpanelen válassza ki a hibakereséshez kívánt kód típusát. Válassza a Felügyelt (.NET Core for Unix) lehetőséget.

  6. Az alkalmazás hibakereséséhez használja a Visual Studio hibakeresési funkcióit.

    Az alábbi példában a Visual Studio hibakeresője leállt egy töréspontnál egy távoli Linux-gépen futó kódban.

    A Töréspont elérése képernyőképe.