Aracılığıyla paylaş


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.>

    Yalnızca Kodumu Etkinleştir

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

    Kaynak Bağlantı desteğini etkinleştirme

  • 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. Örneğin:

  • içinde OnGet Pages/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.

    Kaynak bağlantı indirilecek

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):>Modül yükünde JIT iyileştirmeyi gizleme
  • 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