Delen via


Fouten opsporen in .NET en ASP.NET Core-broncode met Visual Studio

Om fouten in .NET en ASP.NET Core broncode op te sporen in Visual Studio:

  • In Extra -> Opties -> Foutopsporing -> Algemeen, schakelt u Alleen mijn code inschakelen uit door het vakje uit te vinken.

    Alleen mijn code inschakelen

  • Controleer of ondersteuning voor Bronkoppeling inschakelen is ingeschakeld.

    Ondersteuning voor Source Link inschakelen

  • In het hulpprogramma -> Opties -> Foutopsporing -> Symbolen, schakelt u Microsoft Symboolservers in.

    Microsoft Symbol Server

Wanneer u stapt in een .NET- of ASP.NET Core-code, wordt de broncode weergegeven in Visual Studio. Voorbeeld:

  • Stel een onderbrekingspunt in OnGetPages/Privacy.cshtml.cs en selecteer de Privacy koppeling.

  • Selecteer een van de opties Bron downloaden en Doorgaan met foutopsporing .

    Bronverwijzing zal downloaden

De voorgaande instructies werken voor eenvoudige stappen in functies, maar met de geoptimaliseerde .NET-code worden vaak lokale variabelen en functies verwijderd. Optimalisaties uitschakelen en betere bronopsporing toestaan:

  • In Extra -> Opties -> Foutopsporing -> Algemeen, zet JIT-optimalisatie onderdrukken bij modulebelasting (alleen beheerd) aan: JIT-optimalisatie onderdrukken bij modulebelasting
  • Voeg de omgevingsvariabele en -waarde COMPlus_ReadyToRun=0 toe aan het Properties/launchSettings.json bestand:
    {
      "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"
          }
        }
      }
    }
    

Als u eerder een app hebt opgespoord met de vorige versie van .NET, verwijdert u de %TEMP%/SymbolCache map omdat deze oude PDF-bestanden kan bevatten die verouderd zijn.

Debuggen van .NET Core op Unix via SSH

Aanvullende bronnen