Ladění zdrojového kódu .NET a ASP.NET Core pomocí sady Visual Studio

Ladění zdrojového kódu .NET a ASP.NET Core v sadě Visual Studio:

  • V nástrojích – Možnosti –>> Ladění –> Obecné, zrušte zaškrtnutí povolit pouze můj kód.

    Povolit pouze můj kód

  • Ověřte, že je zaškrtnuto políčko Povolit podporu zdrojového propojení.

    Povolení podpory odkazu na zdroj

  • Nástroj – Možnosti –>> Ladění –> Symboly, povolte servery symbolů Microsoftu.

    Microsoft Symbol Server

Když přejdete do libovolného kódu .NET nebo ASP.NET Core, Visual Studio zobrazí zdrojový kód. Příklad:

  • Nastavte zarážku a OnGet Pages/Privacy.cshtml.cs vyberte Privacy odkaz.

  • Vyberte jednu z možností Stáhnout zdroj a Pokračovat v ladění .

    Zdrojový odkaz se stáhne.

Předchozí pokyny fungují pro základní krokování do funkcí, ale optimalizovaný kód .NET často odstraňuje místní proměnné a funkce. Zakázání optimalizací a povolení lepšího ladění zdroje:

  • V nástrojích – Možnosti –>> Ladění –> Obecné, povolte optimalizaci JIT při načítání modulu (jenom spravované):Potlačení optimalizace JIT při načítání modulu
  • Přidejte do souboru proměnnou prostředí a hodnotu COMPlus_ReadyToRun=0 Properties/launchSettings.json :
    {
      "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"
          }
        }
      }
    }
    

Pokud jste dříve ladili aplikaci s předchozí verzí .NET, odstraňte %TEMP%/SymbolCache adresář, protože může obsahovat staré soubory PDB, které jsou zastaralé.

Ladění .NET Core v unixu přes SSH

Další materiály