Tingkat Halaman Asp.Net TracIntegritas, Debugging, Penanganan Kesalahan

⚡ Ringkasan Cerdas

Debugging ASP.NET, tracPengaturan dan penanganan kesalahan di Visual Studio membantu pengembang mendeteksi masalah sejak dini, dan menindaklanjuti permintaan hingga tuntas. trace.axd, dan mengarahkan pengguna ke halaman kesalahan khusus ketika terjadi pengecualian yang tidak ditangani selama siklus pengembangan dan produksi.

  • 🐞 Debugging: Breakpoint di Visual Studio menghentikan eksekusi sehingga Anda dapat memeriksa halaman ASP.NET yang sedang berjalan baris demi baris.
  • 🔎 Tracing: Mengaktifkan trace di web.config menambahkan trace.axd, yang mencantumkan setiap permintaan, kode statusnya, dan waktunya.
  • 📄 Halaman Tracing: Menambahkan TracMenambahkan e=”true” ke direktif Page menunjukkan waktu siklus hidup untuk satu halaman.
  • 🚧 Kesalahan Kustom: Tag customErrors mengarahkan pengguna ke halaman kesalahan yang ramah ketika aplikasi gagal.
  • 🧭 Pengecualian yang Tidak Ditangani: Application_Error di Global.asax menangkap kesalahan yang tidak terduga dan mengarahkan ke halaman yang aman.
  • Pencatatan Kesalahan: Menulis detail Server.GetLastError ke file mencatat masalah untuk debugging di kemudian hari.

Tingkat Halaman ASP.NET TracPemrograman, Debugging, dan Penanganan Kesalahan

Dalam aplikasi apa pun, kesalahan pasti terjadi selama proses pengembangan. Penting untuk dapat menemukan kesalahan pada tahap awal.

Di Visual Studio, hal ini dimungkinkan untuk dilakukan pada aplikasi ASP.NET. Visual Studio digunakan untuk debugging dan memiliki teknik penanganan kesalahan untuk ASP.NET.

Apa itu Debugging di ASP.NET?

Debugging Breakpoint adalah proses menambahkan breakpoint ke dalam sebuah aplikasi. Breakpoint ini digunakan untuk menghentikan sementara eksekusi program yang sedang berjalan. Hal ini memungkinkan pengembang untuk memahami apa yang terjadi dalam program pada titik waktu tertentu.

Mari kita ambil contoh sebuah program. Program tersebut menampilkan string "We are debugging" kepada pengguna. Misalkan ketika kita menjalankan aplikasi, karena suatu alasan, string tersebut tidak ditampilkan. Untuk mengidentifikasi masalah, kita perlu menambahkan breakpoint. Kita dapat menambahkan breakpoint pada baris kode yang menampilkan string tersebut. Breakpoint ini akan menghentikan sementara eksekusi program. Pada titik ini, programmer dapat melihat apa yang mungkin salah. Programmer kemudian memperbaiki program sesuai dengan temuan tersebut.

Dalam contoh ini, kita akan menggunakan DemoApplication yang telah dibuat pada bab-bab sebelumnya. Pada contoh berikut, kita akan melihat:

  • Cara membuat aplikasi demo menampilkan string.
  • Bagaimana cara menambahkan breakpoint ke aplikasi.
  • Cara men-debug aplikasi menggunakan breakpoint ini.

Cara Melakukan Debug pada Aplikasi di ASP.NET

Berikut adalah langkah-langkah untuk membuat aplikasi demo, menambahkan breakpoint, dan melakukan debugging di ASP.NET:

Langkah 1) Buka aplikasi di Visual Studio.
Pertama-tama, pastikan aplikasi web kita sudah terbuka di Visual Studio. Pastikan DemoApplication terbuka di Visual Studio.

Debug aplikasi di ASP.NET

Langkah 2) Sekarang buka file Demo.aspx.cs dan tambahkan baris kode di bawah ini.

  • Kami hanya menambahkan baris kode Response.Write untuk menampilkan string.
  • Jadi ketika aplikasi dijalankan, seharusnya muncul string “Kami sedang melakukan debug” di browser web.

Debug aplikasi di ASP.NET

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("We are debugging");
        }
    }
}

Langkah 3) Tambahkan breakpoint pada aplikasi.
Titik henti adalah titik dalam Visual Studio saat Anda ingin menghentikan eksekusi program.

Debug aplikasi di ASP.NET

  1. Untuk menambahkan breakpoint, Anda perlu mengklik kolom tempat Anda ingin breakpoint disisipkan. Jadi dalam kasus kita, kita ingin program kita berhenti pada baris kode “Response.Write”. Anda tidak perlu menambahkan perintah apa pun untuk menambahkan breakpoint. Anda hanya perlu mengklik baris tempat Anda ingin menambahkan breakpoint.
  2. Setelah ini selesai, Anda akan melihat bahwa kode tersebut ditandai dengan warna merah. Juga, gelembung merah muncul di kolom di sebelah baris kode.

Catatan: Anda dapat menambahkan beberapa breakpoint dalam sebuah aplikasi.

Langkah 4) Jalankan aplikasi dalam mode Debugging.
Sekarang Anda perlu menjalankan aplikasi Anda menggunakan Mode Debugging. Di Visual Studio, pilih opsi menu Debug->Start Debugging.

Debug aplikasi di ASP.NET

Keluaran:-

Debug aplikasi di ASP.NET

Jika Anda melakukan semua langkah dengan benar, eksekusi program akan terhenti. Visual Studio akan masuk ke breakpoint dan menandai baris kode dengan warna kuning.

Nah, jika programmer merasa kodenya salah, eksekusi bisa dihentikan. Kode kemudian dapat dimodifikasi sesuai. Untuk melanjutkan program, programmer perlu mengklik tombol F5 pada keyboard.

Apa itu TracMengintegrasikan ASP.NET?

Aplikasi tracing memungkinkan seseorang untuk melihat apakah ada halaman yang diminta menghasilkan kesalahan. Ketika tracJika ing diaktifkan, akan muncul halaman tambahan bernama... trace.axd ditambahkan ke aplikasi (lihat gambar di bawah). Halaman ini terlampir pada aplikasi dan akan menampilkan semua permintaan dan statusnya.

Tracing di ASP.NET

Cara Mengaktifkan TracMembuat aplikasi di ASP.NET

Mari kita lihat bagaimana cara mengaktifkannya. tracmencari Aplikasi ASP.NET:

Langkah 1) Mari kita kerjakan DemoApplication kita. Buka file web.config dari Solution Explorer.

Aktifkan tracmembuat aplikasi di ASP.NET

Langkah 2) Tambahkan baris kode di bawah ini ke file web.config. tracPernyataan e digunakan untuk mengaktifkan tracuntuk aplikasi tersebut.

  • Batas permintaan di tracPernyataan tersebut menentukan jumlah permintaan halaman yang harus dilakukan. traced.
  • Dalam contoh kita, kita memberikan batasan 40. Kita memberikan batasan karena nilai yang lebih tinggi akan menurunkan kinerja aplikasi.

Aktifkan tracmembuat aplikasi di ASP.NET

<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
        <httpRuntime targetFramework="4.0" />

        <trace enabled="true" pageOutput="false" requestLimit="40" localOnly="false" />

    </system.web>
</configuration>

Jalankan DemoApplication di Visual Studio.

Keluaran:-

Aktifkan tracmembuat aplikasi di ASP.NET

Jika Anda sekarang membuka halaman URL http://localhost:53003/trace.axdAnda akan melihat informasi untuk setiap permintaan. Di sini Anda dapat melihat apakah ada kesalahan yang terjadi dalam aplikasi. Jenis informasi berikut ditampilkan di halaman ini:

  1. Waktu permintaan halaman web.
  2. Nama halaman web yang diminta.
  3. Kode status permintaan web (kode status 200 berarti permintaan berhasil).
  4. Tautan "Lihat Detail" memungkinkan Anda untuk melihat detail lebih lanjut tentang permintaan web. Salah satu detail penting yang diberikan adalah informasi header, yang menunjukkan informasi apa yang dikirim dalam header setiap permintaan web.

Aktifkan tracmembuat aplikasi di ASP.NET

Tingkat Halaman Tracing di ASP.NET

Tingkat Halaman Tracing Di ASP.NET, semua informasi umum tentang halaman web ditampilkan saat sedang diproses. Ini berguna dalam proses debugging jika halaman tidak berfungsi karena alasan apa pun. Visual Studio menyediakan informasi detail tentang berbagai aspek halaman, seperti waktu untuk setiap metode yang dipanggil dalam permintaan web.

Sebagai contoh, jika aplikasi web Anda mengalami masalah kinerja, informasi ini dapat membantu dalam men-debug masalah tersebut. Informasi ini ditampilkan saat aplikasi dijalankan di Visual Studio.

Cara Mengaktifkan TracMengontrol di Tingkat Halaman di ASP.NET

Mari kita lihat cara mengaktifkan level halaman. tracuntuk aplikasi ASP.NET:

Langkah 1) Mari kita kerjakan DemoApplication kita. Buka file demo.aspx dari Solution Explorer.

Tingkat Halaman Tracing di ASP.NET

Langkah 2) Tambahkan baris kode di bawah ini untuk mengaktifkan halaman. tracing. Pada deklarasi Halaman, cukup tambahkan atribut tersebut. Trace=”true”. Baris kode ini akan memungkinkan level halaman. tracing.

Tingkat Halaman Tracing di ASP.NET

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" Trace="true" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>

Jalankan aplikasi di Visual Studio.

Keluaran:-

Tingkat Halaman Tracing di ASP.NET

Sekarang ketika halaman web Demo.aspx ditampilkan, Anda akan mendapatkan banyak informasi tentang halaman tersebut. Informasi seperti waktu untuk setiap aspek siklus hidup halaman ditampilkan di halaman ini.

Penanganan Kesalahan: Menampilkan Halaman Kesalahan Kustom

In ASP.NET, Anda dapat menampilkan halaman kesalahan khusus kepada pengguna. Jika suatu aplikasi mengandung kesalahan apa pun, halaman khusus akan menampilkan kesalahan ini kepada pengguna.

Dalam contoh kita, pertama-tama kita akan menambahkan halaman HTML. Halaman ini akan menampilkan teks kepada pengguna "Kami sedang menyelidiki masalah ini". Kemudian kita akan menambahkan beberapa kode kesalahan ke halaman demo.aspx kita sehingga halaman kesalahan ditampilkan. Mari kita ikuti langkah-langkah yang disebutkan di bawah ini.

Langkah 1) Mari kita kerjakan DemoApplication kita. Mari kita tambahkan halaman HTML ke aplikasi ini.

  1. Klik kanan pada DemoApplication di Solution Explorer.
  2. Pilih opsi menu Tambah->Halaman HTML.

Penanganan Kesalahan di ASP.NET

Langkah 2) Pada langkah selanjutnya, kita perlu memberi nama pada halaman HTML baru.

  1. Berikan nama sebagai ErrorPage.
  2. Klik tombol OK untuk melanjutkan.

Penanganan Kesalahan di ASP.NET

Langkah 3) ErrorPage akan terbuka secara otomatis di Visual Studio. Jika Anda membuka Solution Explorer, Anda akan melihat file yang telah ditambahkan.

Penanganan Kesalahan di ASP.NET

Tambahkan baris kode “We are looking into the problem” ke halaman HTML. Anda tidak perlu menutup file HTML sebelum melakukan perubahan pada file web.config.

Penanganan Kesalahan di ASP.NET

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    We are looking into the problem
</body>
</html>

Langkah 4) Sekarang Anda perlu melakukan perubahan pada file web.config. Perubahan ini akan memberi tahu bahwa setiap kali terjadi kesalahan dalam aplikasi, halaman kesalahan khusus perlu ditampilkan. Tag customErrors memungkinkan untuk mendefinisikan halaman kesalahan khusus. Properti defaultRedirect diatur ke nama halaman kesalahan khusus yang telah kita buat pada langkah sebelumnya.

Penanganan Kesalahan di ASP.NET

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

        <customErrors mode="On" defaultRedirect="ErrorPage.html">
        </customErrors>

    </system.web>
</configuration>

Langkah 5) Sekarang mari kita tambahkan beberapa kode yang salah ke halaman demo.aspx.cs. Buka halaman ini dengan mengklik dua kali file tersebut di Solution Explorer.

Penanganan Kesalahan di ASP.NET

Tambahkan kode di bawah ini ke file Demo.aspx.cs.

  • Baris-baris kode ini dirancang untuk membaca baris-baris teks dari sebuah file.
  • File tersebut seharusnya terletak di drive D dengan nama Example.txt.
  • Namun dalam situasi kami, file ini sebenarnya tidak ada. Jadi kode ini akan mengakibatkan error saat aplikasi dijalankan.

Penanganan Kesalahan di ASP.NET

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            String path = @"D:\Example.txt";
            string[] lines;
            lines = File.ReadAllLines(path);
        }
    }
}

Sekarang jalankan kode di Visual Studio dan Anda akan mendapatkan output di bawah ini.

Keluaran:-

Penanganan Kesalahan di ASP.NET

Halaman di atas menunjukkan bahwa terjadi kesalahan pada aplikasi. Akibatnya, halaman ErrorPage.html ditampilkan kepada pengguna.

Pengecualian ASP.NET yang Tidak Tertangani

Bahkan dalam skenario terbaik sekalipun, mungkin ada kasus kesalahan yang tidak dapat diprediksi. Misalnya, jika pengguna mengakses halaman yang salah di dalam aplikasi. Ini adalah sesuatu yang tidak dapat diprediksi. Dalam kasus seperti itu, ASP.NET dapat mengarahkan pengguna ke ErrorPage.html.

Mari kita lihat contohnya.

  • Kita akan menggunakan DemoApplication yang sama yang memiliki ErrorPage.html.
  • Dan kami akan mencoba melihat halaman web yang tidak ada di aplikasi kami.
  • Dalam hal ini, kita seharusnya dialihkan ke halaman ErrorPage.html kita. Mari kita lihat langkah-langkah untuk mencapainya.

Langkah 1) Mari kita kerjakan DemoApplication kita. Buka file Global.asax.cs dari Solution Explorer.

Pengecualian ASP.NET yang Tidak Tertangani

Catatan: File Global.asax.cs digunakan untuk menambahkan kode yang akan berlaku di semua halaman dalam aplikasi.

Langkah 2) Tambahkan baris kode di bawah ini ke Global.asax.cs. Baris-baris ini akan digunakan untuk memeriksa kesalahan dan menampilkan halaman ErrorPage.html sesuai dengan kesalahan tersebut.

Pengecualian ASP.NET yang Tidak Tertangani

namespace DemoApplication
{
    public class Global : System.Web.HttpApplication
    {
        protected void Application_Error(object sender, EventArgs e)
        {
            HttpException lastErrorWrapper = Server.GetLastError() as HttpException;

            if (lastErrorWrapper.GetHttpCode() == 404)
                Server.Transfer("~/ErrorPage.html");
        }
    }
}

Code Penjelasan:-

  1. Baris pertama adalah penanganan kejadian Application_Error. Kejadian ini dipanggil setiap kali terjadi kesalahan dalam aplikasi. Perhatikan bahwa nama kejadian harus Application_Error, dan parameternya harus seperti yang ditunjukkan di atas.
  2. Selanjutnya, kita mendefinisikan objek dengan tipe kelas HttpException. Ini adalah objek standar yang akan menyimpan semua detail kesalahan. Kita kemudian menggunakan metode Server.GetLastError untuk mendapatkan semua detail kesalahan terakhir yang terjadi dalam aplikasi.
  3. Kemudian, kami memeriksa apakah kode kesalahan terakhir adalah 404 (kode kesalahan 404 adalah kode standar yang dikembalikan ketika pengguna mengakses halaman yang tidak ditemukan). Selanjutnya, kami mengalihkan pengguna ke halaman ErrorPage.html jika kode kesalahannya cocok.

Sekarang jalankan kode tersebut di Visual Studio dan Anda akan mendapatkan output seperti di bawah ini.

Keluaran:-

Telusuri halamannya http://localhost:53003/Demo1.aspx. Ingatlah bahwa Demo1.aspx tidak ada di aplikasi kita. Anda kemudian akan mendapatkan output di bawah ini.

Pengecualian yang Tidak Tertangani di ASP.NET

Halaman di atas menunjukkan bahwa terjadi kesalahan pada aplikasi. Akibatnya, halaman ErrorPage.html ditampilkan kepada pengguna.

Pencatatan Kesalahan ASP.NET

Dengan mencatat kesalahan aplikasi, pengembang dapat melakukan debugging dan menyelesaikan kesalahan di kemudian hari. ASP.NET memiliki fasilitas untuk mencatat kesalahan. Hal ini dilakukan dalam file Global.asax.cs ketika kesalahan ditangkap. Selama proses penangkapan, pesan kesalahan dapat ditulis ke dalam file log.

Mari kita lihat contohnya.

  • Kita akan menggunakan DemoApplication yang sama yang memiliki ErrorPage.html.
  • Dan kami akan mencoba melihat halaman web yang tidak ada di aplikasi kami.
  • Kita harus diarahkan ke halaman ErrorPage.html dalam kasus ini.
  • Dan pada saat yang sama, kita akan menulis pesan kesalahan ke dalam file log. Mari kita lihat langkah-langkah untuk mencapai hal ini.

Langkah 1) Mari kita kerjakan DemoApplication kita. Buka file Global.asax.cs dari Solution Explorer.

Pencatatan kesalahan ASP.NET

Langkah 2) Tambahkan baris kode di bawah ini ke Global.asax.cs. Kode ini akan memeriksa kesalahan dan menampilkan halaman ErrorPage.html sesuai dengan kesalahan yang ditemukan. Selain itu, pada saat yang sama, kita akan mencatat detail kesalahan dalam file bernama AllErrors.txt. Untuk contoh kita, kita akan menulis kode untuk membuat file ini di drive D.

Pencatatan kesalahan ASP.NET

namespace DemoApplication
{
    public class Global : System.Web.HttpApplication
    {
        protected void Application_Error(object sender, EventArgs e)
        {
            Exception exc = Server.GetLastError();
            String str = "";
            str = exc.Message;

            String path = @"D:\AllErrors.txt";
            File.WriteAllText(path, str);
            Server.Transfer("~/ErrorPage.html");
        }
    }
}

Code Penjelasan:-

  1. Baris pertama digunakan untuk mendapatkan kesalahan itu sendiri dengan menggunakan metode Server.GetLastError. Kemudian, kesalahan ini diberikan ke variabel exc.
  2. Kemudian kita membuat variabel string kosong bernama str. Kita mendapatkan pesan kesalahan sebenarnya menggunakan properti exc.Message. Properti exc.Message akan berisi pesan persis untuk setiap kesalahan yang terjadi saat menjalankan aplikasi. Pesan ini kemudian diberikan ke variabel string.
  3. Selanjutnya, kita mendefinisikan file bernama AllErrors.txt. Di sinilah semua pesan kesalahan akan dikirim. Kita menulis string str yang berisi semua pesan kesalahan ke file ini.
  4. Terakhir, kami mentransfer pengguna ke file ErrorPage.html.

Keluaran:-

Telusuri halamannya http://localhost:53003/Demo1.aspx. Ingatlah bahwa Demo1.aspx tidak ada di aplikasi kita. Anda kemudian akan mendapatkan output di bawah ini.

Pencatatan kesalahan ASP.NET

Dan pada saat yang sama, jika Anda membuka file AllErrors.txt, Anda akan melihat informasi di bawah ini.

Pencatatan kesalahan ASP.NET

Pesan kesalahan kemudian dapat diteruskan ke pengembang di lain waktu untuk tujuan debugging.

Pertanyaan Umum Demo Slot

Ya. Alat AI seperti GitHub Copilot dapat menyarankan breakpoint, menjelaskan pengecualian, dan mengusulkan perbaikan untuk kode ASP.NET. RevTinjau setiap saran dan reproduksi bug tersebut sendiri, karena AI dapat salah membaca status spesifik aplikasi.

Ya. Fitur pembelajaran mesin dalam alat-alat seperti Azure Application Insights dapat secara otomatis menandai lonjakan pengecualian atau permintaan lambat yang tidak biasa. Ini membantu tim menemukan masalah produksi lebih cepat daripada memindai file log mentah secara manual.

Tidak. Membiarkan customErrors mode Off akan mengekspos stack. tracMengunggah informasi sensitif ke setiap pengunjung merupakan risiko keamanan. Gunakan mode RemoteOnly atau On di lingkungan produksi agar hanya pengembang lokal yang dapat melihat detail kesalahan selengkapnya.

RemoteOnly hanya menampilkan halaman kesalahan terperinci kepada browser di server lokal, sementara pengguna jarak jauh dikirim ke halaman defaultRedirect. Ini adalah jalan tengah yang aman untuk melakukan debugging situs web yang sedang berjalan tanpa membocorkan informasi.

Atur debug=”false” pada elemen kompilasi di web.config. Mode debug menonaktifkan optimasi, memperpanjang waktu tunggu, dan meningkatkan penggunaan memori, jadi situs produksi harus selalu dikirimkan dengan mode ini dimatikan. Visual Studio.

Tidak. Terbuka trace.axd dapat mengungkapkan header, sesi, dan variabel server kepada penyerang. Atur localOnly=”true” atau nonaktifkan tracsepenuhnya sebelum penyebaran jadi tracData tersebut tidak pernah terekspos kepada pengguna jarak jauh.

Server.Transfer meneruskan permintaan ke halaman kesalahan di server tanpa mengubah browser. URL atau melakukan perjalanan pulang pergi. Response.Redirect mengirimkan permintaan baru ke browser, memperbarui URL ke halaman kesalahan.

Tangkap pesan pengecualian, tumpukan. trace, diminta URL, stempel waktu, dan konteks pengguna. Detail ini memungkinkan pengembang untuk mereproduksi kegagalan tersebut di kemudian hari. Server.GetLastError di Application_Error mengekspos pengecualian sehingga Anda dapat menuliskannya ke file atau basis data.

Ringkaslah postingan ini dengan: