Dela via


Felsöka .NET- och ASP.NET Core-källkod med Visual Studio

Så här felsöker du .NET- och ASP.NET Core-källkoden i Visual Studio:

  • I Verktyg –> Alternativ –> Felsökning –> Allmäntavmarkerar du Aktivera Just My Code.

    Aktivera Just My Code

  • Kontrollera att Stöd för Aktivera källlänk är markerat.

    Aktivera stöd för Source Link

  • I Verktyg –> Alternativ –> Felsökning –> Symboler aktiverar du Microsoft-symbolservrar.

    Microsoft Symbol Server

När du går in på någon .NET- eller ASP.NET Core-kod visar Visual Studio källkoden. Till exempel:

  • Ange en brytpunkt i OnGet och Pages/Privacy.cshtml.cs, och välj länken Privacy.

  • Välj något av alternativen Hämta källa och Fortsätt felsökning .

    Källlänken laddas ned

Föregående instruktioner fungerar för grundläggande steg i funktioner, men den optimerade .NET-koden tar ofta bort lokala variabler och funktioner. Så här inaktiverar du optimeringar och tillåter bättre källfelsökning:

  • I Verktyg –> Alternativ –> Felsökning –> Allmänt aktiverar du Förhindra JIT-optimering vid modulbelastning (endast hanterad): Förhindra JIT-optimering vid modulbelastning
  • Lägg till miljövariabeln och värdet COMPlus_ReadyToRun=0 i Properties/launchSettings.json filen:
    {
      "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
          "applicationUrl": "http://localhost:10892",
          "sslPort": 44315
        }
      },
      "profiles": {
        "WebApplication18": {
          "commandName": "Project",
          "dotnetRunMessages": true,
          "launchBrowser": true,
          "applicationUrl": "https://localhost:7045;http://localhost:5045",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development",
            "COMPlus_ReadyToRun": "0"
          }
        },
        "IIS Express": {
          "commandName": "IISExpress",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development",
            "COMPlus_ReadyToRun": "0"
          }
        }
      }
    }
    

Om du har debuggat en app tidigare med den tidigare versionen av .NET tar du bort katalogen eftersom den %TEMP%/SymbolCache kan ha gamla PDF-filer som är inaktuella.

Felsöka .NET Core på Unix via SSH

Ytterligare resurser