Bagikan melalui


Men-debug aplikasi ASP.NET atau ASP.NET Core di Visual Studio

Anda dapat men-debug aplikasi ASP.NET dan ASP.NET Core di Visual Studio. Prosesnya berbeda antara ASP.NET dan ASP.NET Core, dan apakah Anda menjalankannya di IIS Express atau server IIS lokal.

Nota

Langkah-langkah dan pengaturan berikut hanya berlaku untuk men-debug aplikasi di server lokal. Men-debug aplikasi di server IIS jarak jauh menggunakan Lampirkan ke Proses, dan mengabaikan pengaturan ini. Untuk informasi dan instruksi selengkapnya tentang penelusuran kesalahan jarak jauh untuk ASP.NET dan ASP.NET Core, lihat Debug Jarak Jauh ASP.NET Core di komputer IIS jarak jauh, dan Debug Jarak Jauh Azure App Service.

Server Kestrel dan IIS Express bawaan disertakan dengan Visual Studio. Kestrel adalah server debug default untuk proyek ASP.NET Core, dan telah dikonfigurasi sebelumnya. IIS Express adalah server debug default untuk ASP.NET.

Server IIS Express bawaan disertakan dengan Visual Studio. IIS Express adalah server debug default untuk proyek ASP.NET dan ASP.NET Core, dan telah dikonfigurasi sebelumnya. Ini adalah cara termudah untuk memperbaiki kesalahan, dan ideal untuk debugging dan pengujian awal.

Untuk ASP.NET Core, Anda juga dapat men-debug di server web Kestrel.

Prasyarat untuk server IIS lokal

Anda juga dapat men-debug aplikasi ASP.NET atau ASP.NET Core di server IIS lokal (versi 8.0 atau yang lebih tinggi) yang dikonfigurasi untuk menjalankan aplikasi. Untuk melakukan debug pada IIS lokal, Anda harus memenuhi persyaratan berikut:

  • Jika belum terpasang, pasang paket kerja ASP.NET dan pengembangan web. (Jalankan ulang Alat Penginstal Visual Studio, pilih Ubah, dan tambahkan beban kerja ini.)

  • Jalankan Visual Studio sebagai administrator.

  • Instal dan konfigurasikan IIS dengan benar dengan versi ASP.NET dan/atau ASP.NET Core yang sesuai. Untuk informasi selengkapnya tentang menggunakan IIS dengan ASP.NET Core, lihat Host ASP.NET Core di Windows dengan IIS. Untuk ASP.NET, lihat Instal IIS dan Modul ASP.NET.

  • Pastikan aplikasi berjalan di IIS dan terbuka di browser.

Debug aplikasi ASP.NET Core

Profil default bernama https atau satu berdasarkan nama proyek mungkin ada, yang dikonfigurasi untuk server web Kestrel. Jika Anda melakukan debugging di IIS lokal, pastikan Anda memenuhi prasyarat untuk debugging IIS lokal.

  1. Pilih proyek ASP.NET Core di Visual Studio Penjelajah Solusi dan klik ikon Properti , atau tekan Alt+Enter, atau klik kanan dan pilih Properti.

  2. Pilih tab debug dan klik tautan untuk membuka antarmuka pengguna Buka profil peluncuran debug.

    UI yang disajikan sesuai dengan pengaturan dalam file launchSettings.json proyek. Untuk informasi selengkapnya tentang file ini, lihat bagian Pengembangan dan launchSettings.json di Menggunakan beberapa lingkungan di ASP.NET Core.

  3. Pilih profil untuk dikonfigurasi pemecahan masalah.

    • Untuk Kestrel, pilih profil https atau profil yang dinamai sesuai proyek.
    • Untuk IIS Express, pilih IIS Express dari menu dropdown.
    • Untuk IIS lokal, pilih Baru dan buat profil IIS baru.
  4. Pastikan meluncurkan browser dipilih.

  5. Pastikan url url, URL Aplikasi , dan URL SSL Aplikasi sudah benar.

    Url menentukan lokasi URL host untuk .NET Core atau .NET 5+. Untuk profil yang diberi nama sesuai dengan proyek (yaitu, properti commandName di launchSettings.json adalah Project), server Kestrel mendengarkan port yang ditentukan. Untuk profil IIS, ini biasanya nilai yang sama dengan URL Aplikasi . Untuk informasi selengkapnya, lihat bagian profil peluncuran IIS di bawah Mengonfigurasi proyek.

    URL Aplikasi dan URL SSL Aplikasi menentukan URL aplikasi.

    • Untuk profil https, properti URL Aplikasi biasanya https://localhost:7241;http://localhost:5175.
    • Untuk profil yang diberi nama berdasarkan proyek, properti ini biasanya http://localhost:5000 dan https://localhost:5001.
    • Untuk IIS Express, URL SSL Aplikasi biasanya https://localhost:44334.
  6. Di bawah variabel lingkungan , pastikan bahwa ASPNETCORE_ENVIRONMENT hadir dengan nilai Pengembangan. Jika tidak, tambahkan variabel .

    ASP.NET Core pengaturan debugger

    Untuk informasi selengkapnya tentang variabel lingkungan, lihat lingkungan .

  7. Untuk men-debug aplikasi, di proyek Anda, atur titik henti pada beberapa kode. Di toolbar Visual Studio, pastikan konfigurasi diatur ke Debug.

  8. Untuk memulai penelusuran kesalahan, pilih nama profil di toolbar, seperti https, IIS Express, atau nama profil IIS<> di toolbar, pilih Start Debugging dari menu Debug , atau tekan F5. Debugger berhenti sejenak di titik henti. Jika debugger tidak dapat mencapai titik henti, lihat Pemecahan masalah debug.

Debugging aplikasi ASP.NET Core

IIS Express adalah default, dan telah dikonfigurasi sebelumnya. Jika Anda meng-debug di IIS Lokal, pastikan Anda mematuhi persyaratan untuk debug IIS lokal.

  1. Pilih proyek ASP.NET Core di Visual Studio Penjelajah Solusi, lalu klik pada ikon Properti, atau tekan Alt+Enter, atau klik kanan dan pilih Properti.

  2. Pilih tab Debug

  3. Pada panel Properti, di samping Profil,

    • Untuk IIS Express, pilih IIS Express dari menu dropdown.
    • Untuk IIS lokal, pilih nama aplikasi dari menu dropdown, atau pilih New, buat nama profil baru, dan pilih OK.
  4. Di samping Luncurkan, pilih IIS Express atau IIS dari menu dropdown.

  5. Pastikan Luncurkan browser dipilih.

  6. Pada bagian variabel lingkungan , pastikan bahwa ASPNETCORE_ENVIRONMENT hadir dengan nilai Pengembangan. Jika tidak, pilih Tambahkan dan tambahkan.

    Pengaturan debugger ASP.NET Core

  7. Gunakan File >Simpan Item Terpilih atau Ctrl+S untuk menyimpan perubahan apa pun.

  8. Untuk men-debug aplikasi, di proyek Anda, atur titik henti pada beberapa kode. Di toolbar Visual Studio, pastikan konfigurasi diatur ke Debug, dan IIS Express, atau nama profil IIS baru, muncul di bidang emulator.

  9. Untuk memulai penelusuran kesalahan, pilih IIS Express atau <nama profil IIS> di toolbar, pilih Mulai Debugging dari menu Debug, atau tekan F5. Debugger berhenti sejenak di titik henti. Jika debugger tidak dapat mencapai titik jeda, lihat Memecahkan masalah debugging.

Debugging aplikasi ASP.NET

IIS Express adalah default, dan telah dikonfigurasi sebelumnya. Jika Anda sedang melakukan debugging di IIS Lokal, pastikan Anda memenuhi persyaratan untuk debugging IIS lokal.

  1. Pilih proyek ASP.NET di Visual Studio Penjelajah Solusi dan klik ikon Properti, atau tekan Alt+Enter, atau klik kanan dan pilih Properti.

  2. Pilih tab Web.

    Jika Anda tidak melihat tab Web, lihat Debug aplikasi ASP.NET Core. Tab Web hanya muncul untuk ASP.NET Framework.

  3. Di panel Properti, di bawah Server,

    • Untuk Kestrel, pilih https dari menu dropdown.
    • Untuk IIS Express, pilih IIS Express dari menu dropdown.
    • Untuk IIS lokal,
      1. Pilih IIS Lokal dari menu tarik-turun.
      2. Di samping bidang URL Proyek, pilih Buat Direktori Virtual, jika Anda belum menyiapkan aplikasi di IIS.
  4. Di bawah Debugger, pilih ASP.NET.

    Cuplikan layar yang memperlihatkan pengaturan debugger ASP.NET.

  5. Pilih File >Simpan Item Terpilih (atau tekan Ctrl+S) untuk menyimpan perubahan apa pun.

  6. Untuk men-debug aplikasi, di proyek Anda, atur titik henti pada beberapa kode. Di toolbar Visual Studio, pastikan konfigurasi diatur ke Debug, dan browser yang ingin Anda munculkan di IIS Express ( nama Browser<>) atau IIS Lokal (nama Browser<>) di bidang emulator.

  7. Untuk memulai debugging, pilih IIS Express (nama browser<>) atau IIS Lokal (nama browser<>) di toolbar, pilih Start Debugging dari menu Debug, atau tekan F5. Debugger berhenti sejenak di titik henti. Jika debugger tidak dapat mencapai titik henti, lihat Memecahkan masalah penelusuran kesalahan.

Pemecahan masalah debugging

Jika penelusuran kesalahan IIS lokal tidak dapat maju ke titik henti, ikuti langkah-langkah ini untuk memecahkan masalah.

  1. Mulai aplikasi web dari IIS, dan pastikan aplikasi web berjalan dengan benar. Biarkan aplikasi web berjalan.

  2. Dari Visual Studio, pilih Debug > Lampirkan ke Proses atau tekan Ctrl+Alt+P, dan sambungkan ke proses ASP.NET atau ASP.NET Core (biasanya w3wp.exe atau dotnet.exe). Untuk informasi selengkapnya, lihat Melekat ke Proses serta Cara menemukan nama proses ASP.NET.

Jika Anda dapat menghubungkan dan mencapai titik henti dengan menggunakan Lampirkan ke Proses, tetapi tidak dengan menggunakan Debug>Mulai Debugging atau F5, maka mungkin ada pengaturan yang salah di pengaturan properti proyek. Jika Anda menggunakan file HOSTS, pastikan file tersebut juga dikonfigurasi dengan benar.

Mengonfigurasi pemecahan masalah dalam file web.config

ASP.NET proyek memiliki file web.config secara default, yang berisi konfigurasi aplikasi dan informasi peluncuran, termasuk pengaturan debug. File web.config harus dikonfigurasi dengan benar untuk debugging. Pengaturan Properti di bagian sebelumnya memperbarui file web.config, tetapi Anda juga dapat mengaturnya secara manual.

Nota

proyek ASP.NET Core awalnya tidak memiliki file web.config, tetapi menggunakan file appsettings.json dan launchSettings.json untuk konfigurasi aplikasi dan informasi peluncuran. Menyebarkan aplikasi membuat file atau file web.config dalam proyek, tetapi biasanya tidak berisi informasi debug.

Tips

Proses penyebaran Anda dapat memperbarui pengaturan web.config, jadi sebelum mencoba melakukan debug, pastikan web.config dikonfigurasi untuk debugging.

Untuk mengonfigurasi file web.config secara manual untuk debug:

  1. Di Visual Studio, buka file web.config proyek ASP.NET.

  2. Web.config adalah file XML, jadi berisi bagian berlapis yang ditandai oleh tag. Temukan bagian configuration/system.web/compilation. (Jika elemen compilation tidak ada, buatlah.)

  3. Pastikan bahwa atribut debug dalam elemen compilation diatur ke true. (Jika elemen compilation tidak berisi atribut debug, tambahkan dan atur ke true.)

    Jika Anda menggunakan IIS lokal alih-alih server IIS Express default, pastikan bahwa nilai atribut targetFramework dalam elemen compilation cocok dengan kerangka kerja di server IIS.

    Elemen compilation file web.config akan terlihat seperti contoh berikut:

    Nota

    Contoh ini adalah file web.config parsial. Biasanya ada bagian XML tambahan dalam elemen configuration dan system.web, dan elemen compilation mungkin juga berisi atribut dan elemen lain.

    <configuration>
       ...
       <system.web>
           <compilation  debug="true"  targetFramework="4.6.1" ... >
              ...
           </compilation>
       </system.web>
    </configuration>
    

ASP.NET secara otomatis mendeteksi perubahan apa pun pada file web.config dan menerapkan pengaturan konfigurasi baru. Anda tidak perlu menghidupkan ulang komputer atau server IIS agar perubahan diterapkan.

Situs web dapat berisi beberapa direktori virtual dan subdirektori, dengan file web.config masing-masing. Aplikasi ASP.NET mewarisi pengaturan konfigurasi dari file web.config di tingkat yang lebih tinggi dalam path URL. Pengaturan file web.config hierarkis berlaku untuk semua aplikasi ASP.NET di bawahnya dalam hierarki. Mengatur konfigurasi yang berbeda dalam file web.config yang lebih rendah dalam hierarki akan mengambil alih pengaturan dalam file yang lebih tinggi.

Misalnya, jika Anda menentukan debug="true" di www.microsoft.com/aaa/web.config, aplikasi apa pun di folder aaa atau di subfolder aaa mewarisi pengaturan tersebut, kecuali jika salah satu aplikasi tersebut mengambil alih pengaturan dengan file web.config nya sendiri.

Penting

Mode debug sangat mengurangi performa aplikasi Anda. Saat Anda menyebarkan aplikasi produksi atau melakukan pengukuran performa, atur debug="false" di web.config dan tentukan build Rilis.