Share via


Lakukan debugging aplikasi ASP.NET atau ASP.NET Core dalam 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, baik Anda menjalankannya di IIS Express atau server IIS lokal.

Catatan

Langkah-langkah dan pengaturan berikut ini hanya berlaku untuk penelusuran kesalahan aplikasi di server lokal. Penelusuran kesalahan aplikasi di server IIS jarak jauh menggunakan Lampirkan ke Proses, dan mengabaikan pengaturan ini. Untuk informasi dan petunjuk selengkapnya tentang penelusuran kesalahan jarak jauh aplikasi ASP.NET di IIS, lihat Debug ASP.NET jarak jauh di komputer IIS atau Debug ASP.NET Core jarak jauh di komputer IIS jarak jauh.

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 men-debug, dan ideal untuk pengujian dan penelusuran kesalahan 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 lebih tinggi) yang dikonfigurasi untuk menjalankan aplikasi. Untuk men-debug di IIS lokal, Anda harus memenuhi persyaratan berikut:

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

  • Buka Visual Studio sebagai administrator.

  • Pasang 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 Meng-hosting ASP.NET Core di Windows dengan IIS. Untuk ASP.NET, lihat Memasang Modul IIS dan ASP.NET.

  • Pastikan aplikasi berjalan di IIS tanpa kesalahan.

Men-debug aplikasi ASP.NET Core

Profil default berdasarkan https atau profil berdasarkan nama proyek mungkin ada, yang dikonfigurasi untuk server web Kestrel. Jika Anda menelusuri kesalahan di IIS lokal, pastikan Anda memenuhi prasyarat untuk penelusuran kesalahan IIS lokal.

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

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

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

  3. Pilih profil yang akan dikonfigurasi untuk penelusuran kesalahan.

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

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

    Url menentukan lokasi URL host untuk .NET atau .NET Core. Untuk profil yang dinamai 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 pada Konfigurasikan proyek.

    URL Aplikasi dan URL SSL Aplikasi menentukan URL aplikasi. Untuk profil yang dinamai sesuai dengan proyek, properti ini menentukan URL server Kestrel, biasanya https://localhost:5001 dan http://localhost:5000. Untuk IIS Express, URL SSL Aplikasi biasanya http://localhost:44334.

  6. Pada Variabel lingkungan, pastikan ASPNETCORE_ENVIRONMENT hadir dengan nilai Pengembangan. Jika tidak, tambahkan variabel tersebut.

    pengaturan debugger inti ASP.NET

    Untuk informasi selengkapnya tentang variabel lingkungan, lihat Lingkungan.

  7. Untuk men-debug aplikasi, atur titik henti pada beberapa kode di proyek Anda. 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 Mulai Penelusuran Kesalahan dari menu Debug, atau tekan F5. Debugger dijeda di titik henti. Jika debugger tidak dapat menemukan titik henti, lihat Memecahkan masalah penelusuran kesalahan.

Men-debug aplikasi ASP.NET Core

IIS Express adalah default, dan telah dikonfigurasi sebelumnya. Jika Anda menelusuri kesalahan di IIS Lokal, pastikan Anda memenuhi persyaratan untuk penelusuran kesalahan IIS lokal.

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

  2. Pilih tab Debug.

  3. Di 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 Baru, 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 Variabel lingkungan, pastikan ASPNETCORE_ENVIRONMENT hadir dengan nilai Pengembangan. Jika tidak, pilih Tambahkan dan tambahkan variabel tersebut.

    pengaturan debugger inti ASP.NET

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

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

  9. Untuk memulai penelusuran kesalahan, pilih IIS Express atau <nama profil IIS> di toolbar, pilih Start Debugging dari menu Debug, atau tekan F5. Debugger dijeda di titik henti. Jika debugger tidak dapat menemukan titik henti, lihat Memecahkan masalah penelusuran kesalahan.

Men-debug aplikasi ASP.NET

IIS Express adalah default, dan telah dikonfigurasi sebelumnya. Jika Anda menelusuri kesalahan di IIS Lokal, pastikan Anda memenuhi persyaratan untuk penelusuran kesalahan IIS lokal.

  1. Pilih proyek ASP.NET di Penjelajah Solusi Visual Studio 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, pada 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 dropdown.
      2. Di samping bidang URL Proyek, pilih Buat Direktori Virtual, jika Anda belum menyiapkan aplikasi di IIS.
  4. Pada 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, atur titik henti pada beberapa kode di proyek Anda. Di toolbar Visual Studio, pastikan konfigurasi diatur ke Debug, dan browser yang Anda inginkan muncul di IIS Express (<Nama browser>) atau IIS Lokal (<Nama browser>) di bidang emulator.

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

Memecahkan masalah penelusuran kesalahan

Jika penelusuran kesalahan IIS lokal tidak dapat berlanjut ke titik henti, ikuti langkah-langkah berikut 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 Lampirkan Debug > 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 Melampirkan ke Proses dan Cara menemukan nama proses ASP.NET.

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

Mengonfigurasi penelusuran kesalahan dalam file web.config

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

Catatan

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

Tip

Proses penyebaran Anda dapat memperbarui web.config pengaturan, jadi sebelum mencoba men-debug, pastikan web.config dikonfigurasi untuk penelusuran kesalahan.

Untuk mengonfigurasi web.config file secara manual untuk penelusuran kesalahan:

  1. Di Visual Studio, buka file proyek web.config 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, Anda harus membuatnya.)

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

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

    Elemen compilationweb.config file akan terlihat seperti contoh berikut:

    Catatan

    Contoh ini adalah file parsial web.config . Biasanya ada bagian XML tambahan di 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 web.config file 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 web.config file di masing-masing direktori. ASP.NET aplikasi mewarisi pengaturan konfigurasi dari web.config file pada tingkat yang lebih tinggi di jalur URL. Pengaturan file hierarkis web.config berlaku untuk semua aplikasi ASP.NET di bawahnya dalam hierarki. Mengatur konfigurasi yang berbeda dalam file yang web.config 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 aaa folder atau di subfolder apa pun yang aaa mewarisi pengaturan tersebut, kecuali jika salah satu aplikasi tersebut mengambil alih pengaturan dengan filenya sendiri web.config .

Penting

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