Bagikan melalui


Mendebug kode sumber .NET dan ASP.NET Core dengan Visual Studio

Untuk men-debug kode sumber .NET dan ASP.NET Core di Visual Studio:

  • Di Alat -> Opsi -> Debugging -> Umum, batal centang Aktifkan Hanya Kode Saya.

    Aktifkan Hanya Kode Saya

  • Verifikasi aktifkan dukungan Tautan Sumber dicentang.

    Mengaktifkan dukungan Source Link

  • Di Alat -> Opsi -> Penelusuran Kesalahan -> Simbol, aktifkan Microsoft Symbol Servers.

    Server Simbol Microsoft

Saat Anda masuk ke kode .NET atau ASP.NET Core, Visual Studio menampilkan kode sumber. Contohnya:

  • Atur titik henti masuk OnGet Pages/Privacy.cshtml.cs dan pilih Privacy tautan.

  • Pilih salah satu opsi Unduh Sumber dan Lanjutkan Penelusuran Kesalahan .

    Tautan Sumber akan diunduh

Instruksi sebelumnya berfungsi untuk langkah dasar ke fungsi, tetapi kode .NET yang dioptimalkan sering menghapus variabel dan fungsi lokal. Untuk menonaktifkan pengoptimalan dan memungkinkan penelusuran kesalahan sumber yang lebih baik:

  • Di Alat -> Opsi -> Debugging -> Umum, aktifkan Tekan pengoptimalan JIT pada beban modul (Hanya terkelola): Menekan pengoptimalan JIT pada beban modul
  • Tambahkan variabel lingkungan dan nilai COMPlus_ReadyToRun=0 ke Properties/launchSettings.json file:
    {
      "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"
          }
        }
      }
    }
    

Jika Anda telah men-debug aplikasi sebelumnya dengan versi .NET sebelumnya, hapus %TEMP%/SymbolCache direktori karena dapat memiliki PDB lama yang sudah kedaluarsa.

Penelusuran kesalahan .NET Core di Unix melalui SSH

Sumber Daya Tambahan: