Visual Studio ile .NET ve ASP.NET Core kaynak kodunda hata ayıklama

Visual Studio'da .NET ve ASP.NET Core kaynak kodunda hata ayıklamak için:

  • Araçlar - Seçenekler -> Hata Ayıklama -> Genel'de Yalnızca Kodumu Etkinleştir seçeneğinin işaretini kaldırın.>

    Enable Just My Code

  • Kaynak Bağlantısını Etkinleştir desteğinin işaretli olduğunu doğrulayın.

    Enable Source Link support

  • Araç - Seçenekler ->> Hata Ayıklama -> Simgeler bölümünde Microsoft Sembol Sunucularını etkinleştirin.

    Microsoft Symbol Server

Herhangi bir .NET veya ASP.NET Core koduna girdiğinizde, Visual Studio kaynak kodu görüntüler. Örnek:

  • içinde OnGetPages/Privacy.cshtml.cs bir kesme noktası ayarlayın ve bağlantıyı seçin Privacy .

  • Kaynağı İndir ve Hata Ayıklamaya Devam Et seçeneklerinden birini seçin.

    Source Link Will Download

Yukarıdaki yönergeler işlevlere temel adım atma için çalışır, ancak iyileştirilmiş .NET kodu genellikle yerel değişkenleri ve işlevleri kaldırır. İyileştirmeleri devre dışı bırakmak ve daha iyi kaynak hata ayıklamasına izin vermek için:

  • Araçlar - Seçenekler -> Hata Ayıklama -> Genel'de modül yükünde JIT iyileştirmesini engellemeyi etkinleştirin (yalnızca yönetilen):>Suppress JIT optimization on module load
  • Ortam değişkenini ve değerini COMPlus_ReadyToRun=0 dosyaya Properties/launchSettings.json ekleyin:
    {
      "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"
          }
        }
      }
    }
    

Bir uygulamada daha önce .NET'in önceki sürümüyle hata ayıkladıysanız, eski PDB'lere sahip olabileceğinden dizini silin %TEMP%/SymbolCache .

SSH üzerinden Unix üzerinde .NET Core'da hata ayıklama

Ek kaynaklar