Dela via


Felsöka .NET Core i Linux med hjälp av SSH genom att ansluta till en process

Från och med Visual Studio 2017 kan du ansluta till .NET Core- och .NET 5+-processer som körs på en lokal eller fjärransluten Linux-distribution via Secure Shell (SSH). Den här artikeln beskriver hur du konfigurerar felsökning och hur du felsöker. Information om felsökning av scenarier med Docker-containrar finns i Bifoga till en process som körs på en Docker-container och artiklarna om containerverktyg i stället. Information om hur du felsöker Linux på WSL 2 från Visual Studio (ingen anslutning till processen) finns i Felsöka .NET Core Apps i WSL 2 med Visual Studio.

Anmärkning

För felsökning av Linux som körs på Azure Kubernetes Service (AKS) rekommenderas Bridge to Kubernetes i stället för att ansluta till processen.

Förutsättningar

  • På Linux-servern måste du installera SSH-servern, packa upp och installera med antingen curl eller wget. På Ubuntu kan du till exempel göra det genom att köra:

    sudo apt-get install openssh-server unzip curl
    

    SFTP måste vara aktiverat samt SSH. De flesta SSH-distributioner installerar och aktiverar SFTP som standard, men så är inte alltid fallet.

  • Installera .NET-körningen på Linux på Linux-servern och hitta sidan som matchar din Linux-distribution (till exempel Ubuntu). .NET SDK krävs inte.

  • Omfattande ASP.NET Core-instruktioner finns i Värd ASP.NET Core på Linux med Nginx och Värd ASP.NET Core på Linux med Apache.

Förbered din applikation för felsökning.

Så här förbereder du programmet för felsökning:

  • Överväg att använda en felsökningskonfiguration när du skapar programmet. Det är mycket svårare att felsöka släppkompilerad kod (en releasekonfiguration) än felsökningskompilerad kod. Om du behöver använda en versionskonfiguration inaktiverar du först Just My Code. Om du vill inaktivera den här inställningen väljer duVerktygsalternativ>>Felsökning och avmarkerar sedan Aktivera Just My Code.
  • Kontrollera att projektet är konfigurerat för att skapa bärbara PDF-filer (vilket är standardinställningen) och kontrollera att PDF-filerna finns på samma plats som DLL-filen. Om du vill konfigurera detta i Visual Studio högerklickar du på projektet och väljer sedan Allmännafelsökningssymboler>>.
  • Kontrollera att projektet är konfigurerat för att skapa bärbara PDF-filer (vilket är standardinställningen) och kontrollera att PDF-filerna finns på samma plats som DLL-filen. Om du vill konfigurera detta i Visual Studio högerklickar du på projektet och väljer sedan Egenskaper>Skapa>avancerad>felsökningsinformation.

Skapa och distribuera programmet

Du kan använda flera metoder för att distribuera appen innan du börjar felsöka. Till exempel kan du:

  • Kopiera källor till måldatorn och skapa med dotnet build på Linux-datorn.

  • Skapa appen i Windows och överför sedan byggartefakterna till Linux-datorn. (Byggartefakterna består av själva programmet, de bärbara PDF-filerna, eventuella körningsbibliotek som det kan vara beroende av och .deps.json-filen .)

Starta programmet när appen har distribuerats.

Bifoga felsökningsprogrammet

När programmet körs på Linux-datorn är du redo att ansluta felsökningsprogrammet.

  1. I Visual Studio väljer du Felsöka>Koppla till process....

  2. I listan Anslutningstyp väljer du SSH.

  3. Ändra anslutningsmålet till IP-adressen eller värdnamnet för måldatorn.

    Om du inte redan har angett autentiseringsuppgifter uppmanas du att ange ett lösenord och/eller en privat nyckelfil. Mer information om hur du använder en privat nyckelfil finns i Konfigurera en fjärranslutning.

    Det finns inga portkrav att konfigurera, förutom porten som SSH-servern körs på.

  4. Hitta den process som du vill felsöka.

    Koden körs antingen i ett unikt processnamn eller i en process med namnet dotnet. Om du vill hitta den process som du är intresserad av kontrollerar du kolumnen Rubrik , som visar kommandoradsargumenten för processen.

    I följande exempel visas en lista över processer från en fjärransluten Linux-dator via en SSH-transport som visas i dialogrutan Koppla till process .

    Skärmbild av Bifoga till Linux-process.

    Skärmbild av Bifoga till Linux-process.

  5. Välj Bifoga.

    I dialogrutan som visas väljer du den typ av kod som du vill felsöka. Välj Hanterad (.NET Core för Unix).

  6. Använd Visual Studio-felsökningsfunktioner för att felsöka appen.

    I följande exempel ser du att Visual Studio-felsökningsprogrammet har stoppats vid en brytpunkt i kod som körs på en fjärransluten Linux-dator.

    Skärmbild av träffa en brytpunkt.

    Skärmbild av att nå en brytpunkt.