Asp.Net Page Level Tracing, Debugging, Error Handling (Contoh)

Daftar Isi:

Anonim

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

Dalam Visual Studio, dimungkinkan untuk melakukan ini untuk aplikasi ASP.Net. Visual Studio digunakan untuk Debugging dan memiliki teknik penanganan kesalahan untuk ASP.Net.

Dalam tutorial ini, Anda akan belajar-

  • Apa itu Debugging di ASP.NET?
  • Apa itu Tracing di ASP.NET?
  • Pelacakan Tingkat Halaman
  • Penanganan Kesalahan: Menampilkan Halaman Kesalahan Kustom
  • Pengecualian Tidak Tertangani ASP.NET
  • ASP.NET Error logging

Apa itu Debugging di ASP.NET?

Debugging adalah proses menambahkan breakpoint ke aplikasi. Titik henti ini digunakan untuk menghentikan sementara pelaksanaan program yang sedang berjalan. Ini memungkinkan pengembang untuk memahami apa yang terjadi dalam program pada titik waktu tertentu.

Mari kita ambil contoh sebuah program. Program ini menampilkan string "We are debugging" kepada pengguna. Misalkan saat kita menjalankan aplikasi, entah kenapa string tersebut tidak ditampilkan. Untuk mengidentifikasi masalah kita perlu menambahkan breakpoint. Kita bisa menambahkan breakpoint ke baris kode yang menampilkan string. Breakpoint ini akan menghentikan sementara eksekusi program. Pada titik ini, programmer dapat melihat apa yang mungkin salah. Programmer memperbaiki program tersebut.

Di sini, di contoh, kami akan menggunakan 'DemoApplication' kami yang telah dibuat di bab sebelumnya. Dalam contoh berikut, kita akan lihat

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

Langkah 1) Pertama mari kita pastikan aplikasi web kita terbuka di Visual Studio. Pastikan DemoApplication terbuka di Visual Studio.

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, itu harus menampilkan string "We are debugging" di web browser.

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) Sekarang mari tambahkan breakpoint. Breakpoint adalah titik di Visual Studio di mana Anda ingin menghentikan eksekusi program.

  1. Untuk menambahkan breakpoint, Anda perlu mengklik kolom tempat Anda ingin memasukkan breakpoint. Jadi dalam kasus kami, kami ingin program kami berhenti di baris kode "Response.Write". Anda tidak perlu menambahkan perintah apa pun untuk menambahkan breakpoint. Anda hanya perlu mengklik baris yang ingin Anda tambahkan 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) Sekarang Anda perlu menjalankan aplikasi Anda menggunakan Mode Debugging. Dalam Visual Studio, pilih opsi menu Debug-> Mulai Debugging.

Keluaran:-

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

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

Apa itu Tracing di ASP.NET?

Pelacakan aplikasi memungkinkan seseorang untuk melihat apakah ada halaman yang diminta menghasilkan kesalahan. Saat pelacakan diaktifkan, halaman tambahan yang disebut trace.axd ditambahkan ke aplikasi. (Lihat gambar di bawah). Halaman ini dilampirkan ke aplikasi. Halaman ini akan menampilkan semua permintaan dan statusnya.

Mari kita lihat cara mengaktifkan pelacakan untuk aplikasi.

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

Langkah 2) Tambahkan baris kode di bawah ini ke file Web.config.

Pernyataan jejak digunakan untuk mengaktifkan pelacakan untuk aplikasi.

  • 'RequestLimit' dalam pernyataan jejak digunakan. Ini menentukan jumlah permintaan halaman yang harus dilacak.
  • Dalam contoh kami, kami memberikan batas 40. Kami memberikan batas karena nilai yang lebih tinggi akan menurunkan kinerja aplikasi.

Jalankan "demoapplication" di Visual Studio.

Keluaran:-

Jika Anda sekarang menjelajah ke URL - http: // localhost: 53003 / trace.axd , Anda akan melihat informasi untuk setiap permintaan. Di sini Anda dapat melihat apakah ada kesalahan yang terjadi dalam suatu aplikasi. Jenis informasi berikut ini ditunjukkan pada halaman di atas

  1. Waktu permintaan untuk halaman web.
  2. Nama halaman web yang diminta.
  3. Kode status permintaan web. (kode status 200 berarti permintaan berhasil).
  4. Lihat detail yang Anda izinkan untuk melihat detail selengkapnya tentang permintaan web. Contohnya ditunjukkan di bawah ini. Salah satu informasi rinci penting yang diberikan adalah informasi header. Informasi ini menunjukkan informasi apa yang dikirim di header setiap permintaan web.

Pelacakan Tingkat Halaman

Pelacakan halaman menunjukkan semua informasi umum tentang halaman web saat sedang diproses. Ini berguna dalam debugging jika halaman tidak berfungsi karena alasan apa pun.

Visual Studio akan memberikan informasi rinci tentang berbagai aspek halaman. Informasi seperti waktu untuk setiap metode yang dipanggil dalam permintaan web. Misalnya, jika aplikasi web Anda mengalami masalah kinerja, informasi ini dapat membantu dalam men-debug masalah tersebut. Informasi ini ditampilkan saat aplikasi berjalan di Visual Studio.

Mari kita lihat cara mengaktifkan pelacakan untuk aplikasi di tingkat halaman.

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

Langkah 2) Tambahkan baris kode di bawah ini untuk mengaktifkan pelacakan halaman. Di deklarasi Halaman, tambahkan baris Trace = "true". Baris kode ini akan memungkinkan pelacakan tingkat halaman.

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

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

Di ASP.Net, Anda dapat memiliki halaman kesalahan khusus yang ditampilkan kepada pengguna. Jika suatu aplikasi berisi kesalahan apa pun, halaman kustom akan menampilkan kesalahan ini kepada pengguna.

Dalam contoh kami, pertama kami akan menambahkan halaman HTML. Halaman ini akan menampilkan string kepada pengguna "Kami sedang menyelidiki masalah". Kami kemudian akan menambahkan beberapa kode kesalahan ke halaman demo.aspx kami sehingga halaman kesalahan ditampilkan.

Mari ikuti langkah-langkah yang disebutkan di bawah ini

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

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

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

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

Langkah 3) Halaman Kesalahan akan terbuka secara otomatis di Visual Studio. Jika Anda pergi ke Solution Explorer, Anda akan melihat file ditambahkan.

Tambahkan baris kode "Kami sedang menyelidiki masalah" ke halaman HTML. Anda tidak perlu menutup file HTML sebelum melakukan perubahan ke file web.config.

We are looking into the problem

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 penentuan halaman error kustom. Properti defaultRedirect disetel ke nama halaman kesalahan khusus yang kita buat di langkah sebelumnya.

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

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

  • Baris kode ini dirancang untuk membaca baris teks dari file.
  • File tersebut seharusnya berada di drive D dengan nama 'Example.txt'.
  • Tetapi dalam situasi kami, file ini tidak benar-benar ada. Jadi kode ini akan mengakibatkan error saat aplikasi berjalan.

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

Halaman di atas menunjukkan bahwa kesalahan telah dipicu dalam aplikasi. Hasilnya, halaman Error.html ditampilkan kepada pengguna.

Pengecualian Tidak Tertangani ASP.NET

Bahkan dalam skenario terbaik, mungkin ada kasus kesalahan yang tidak terlihat.

Misalkan jika pengguna menjelajah ke halaman yang salah dalam aplikasi. Ini adalah sesuatu yang tidak bisa diprediksi. Dalam kasus seperti itu, ASP.Net dapat mengarahkan pengguna ke halaman kesalahan.html.

Mari kita lihat contohnya.

  • Kami akan menggunakan 'DemoApplication' yang sama yang memiliki Errorpage.html.
  • Dan kami akan mencoba untuk melihat halaman web yang tidak ada di aplikasi kami.
  • Kita harus diarahkan ke halaman ErrorPage.html kita dalam kasus ini. Mari kita lihat langkah-langkah untuk mencapai ini.

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

CATATAN : File global.asax.cs digunakan untuk menambahkan kode yang akan diterapkan 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 sebagaimana mestinya.

namespace DemoApplication{public partial class Demo : System.Web.UI.Page{protected void Application_Error(object sender, EventArgs e){‬ HttpException lastErrorWrapper = Server.GetLastError() as HttpException;if(lastErrorWrapper.GetHttpCode() == 404)Server.T ransfer("~/ErrorPage.html");}}}

Penjelasan Kode: -

  1. Baris pertama adalah event handler Application_Error. Peristiwa ini dipanggil setiap kali terjadi kesalahan dalam aplikasi. Perhatikan bahwa nama acara harus 'Application_Error'. Dan parameternya harus seperti gambar di atas.
  2. Selanjutnya, kita mendefinisikan objek dari tipe kelas HttpException. Ini adalah objek standar yang akan menampung semua detail kesalahan. Kami kemudian menggunakan metode Server.GetLastError untuk mendapatkan semua detail kesalahan terakhir yang terjadi dalam aplikasi.
  3. Kami kemudian memeriksa apakah kode kesalahan dari kesalahan terakhir adalah 404. (Kode kesalahan 404 adalah kode standar yang dikembalikan ketika pengguna menjelajahi halaman yang tidak ditemukan). Kami kemudian mentransfer pengguna ke halaman ErrorPage.html jika kode kesalahan cocok.

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

Keluaran:-

Jelajahi halaman http: // localhost: 53003 / Demo1.aspx . Ingat bahwa Demo1.aspx tidak ada di aplikasi kita. Anda kemudian akan mendapatkan output di bawah ini.

Halaman di atas menunjukkan bahwa kesalahan telah dipicu dalam aplikasi. Hasilnya, halaman Error.html ditampilkan kepada pengguna.

ASP.NET Error logging

Dengan mencatat kesalahan aplikasi, ini membantu pengembang untuk men-debug dan menyelesaikan kesalahan di lain waktu. ASP.Net memiliki fasilitas untuk mencatat kesalahan. Ini dilakukan di file Global.asax.cs saat kesalahan ditangkap. Selama proses pengambilan, pesan kesalahan dapat ditulis ke dalam file log.

Mari kita lihat contohnya.

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

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

Langkah 2) Tambahkan baris kode di bawah ini ke global.asax.cs. Ini akan memeriksa kesalahan dan menampilkan halaman ErrorPage.html yang sesuai. Juga pada saat yang sama, kami akan mencatat detail kesalahan dalam file bernama 'AllErrors.txt.' Sebagai contoh, kami akan menulis kode agar file ini dibuat di drive D.

namespace DemoApplication{public partial class Demo : System.Web.UI.Page{protected void Application_Error(object sender, EventArgs e){Exception exc = Server.GetLastError();String str ;str = exc.Message;String path = @"D:\AllErrors.txt";File.WriteAllTest(path,str);Server.trrasfer("~/ErrorPage.html");}}}

Penjelasan Kode: -

  1. Baris pertama adalah mendapatkan kesalahan itu sendiri dengan menggunakan metode 'Server.GetLastError'. Ini kemudian ditetapkan ke variabel 'exc'.
  2. Kami kemudian membuat variabel string kosong yang disebut 'str'. Kami mendapatkan pesan kesalahan sebenarnya menggunakan properti 'exc.Message'. Properti exc.Message akan memiliki pesan yang tepat untuk setiap kesalahan yang terjadi saat menjalankan aplikasi. Ini kemudian ditugaskan ke variabel string.
  3. Selanjutnya, kami mendefinisikan file bernama 'AllErrrors.txt.' Di sinilah semua pesan kesalahan akan dikirim. Kami menulis string 'str' yang berisi semua pesan kesalahan ke file ini.
  4. Terakhir, kami mentransfer pengguna ke file ErrorPage.html.

Keluaran:-

Jelajahi halaman http: // localhost: 53003 / Demo1.aspx . Ingat bahwa Demo1.aspx tidak ada di aplikasi kita. Anda kemudian akan mendapatkan output di bawah ini.

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

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

Ringkasan

  • ASP.Net memiliki fasilitas untuk melakukan debugging dan penanganan Error.
  • Debugging dapat dilakukan dengan menambahkan breakpoint ke kode. Satu kemudian menjalankan opsi Mulai dengan Debugging di Visual Studio untuk men-debug kode.
  • Tracing adalah fasilitas untuk memberikan lebih banyak informasi saat menjalankan aplikasi. Ini dapat dilakukan di aplikasi atau tingkat halaman.
  • Di tingkat halaman, kode Trace = true perlu ditambahkan ke direktif halaman.
  • Pada tingkat aplikasi, halaman tambahan yang disebut Trace.axd dibuat untuk aplikasi tersebut. Ini memberikan semua informasi penelusuran yang diperlukan.