Debug aplikasi ASP.NET langsung di komputer virtual Azure dan set skala komputer virtual Azure menggunakan Snapshot Debugger
Snapshot Debugger mengambil snapshot dari aplikasi dalam produksi Anda saat kode yang Anda minati dijalankan. Untuk menginstruksikan debugger untuk mengambil snapshot, Anda mengatur snappoints dan logpoints dalam kode Anda. Debugger memungkinkan Anda melihat dengan tepat apa yang salah, tanpa memengaruhi lalu lintas aplikasi produksi Anda. Snapshot Debugger dapat membantu Anda secara dramatis mengurangi waktu yang diperlukan untuk menyelesaikan masalah yang terjadi di lingkungan produksi.
Snappoint dan logpoint mirip dengan titik henti, tetapi tidak seperti titik henti, snappoint tidak menghentikan aplikasi saat tercapai. Biasanya, menangkap snapshot di snappoint membutuhkan waktu 10-20 milidetik.
Dalam tutorial ini, Anda akan:
- Mulai Snapshot Debugger
- Mengatur snappoint dan lihat snapshot
- Mengatur logpoint
Prasyarat
Snapshot Debugger untuk Azure Virtual Machines (VM) dan Azure Virtual Machine Scale Sets hanya tersedia untuk Visual Studio 2019 Enterprise atau yang lebih tinggi dengan beban kerja pengembangan Azure. (Di bawah tab Komponen individu, Anda menemukannya di bawah Penelusuran kesalahan dan pengujian>Snapshot debugger.)
Jika belum diinstal, instal Visual Studio 2019 Enterprise.
Koleksi snapshot tersedia untuk aplikasi web Azure Virtual Machines\Virtual Machine Scale Sets berikut:
- Aplikasi ASP.NET berjalan pada .NET Framework 4.6.1 atau yang lebih baru.
- Aplikasi ASP.NET Core berjalan di .NET Core 2.0 atau yang lebih baru di Windows.
Catatan
Visual Studio Enterprise yang berjalan pada Windows 32-bit tidak akan dapat melihat snapshot.
Buka proyek Anda dan mulai Snapshot Debugger
Buka proyek yang ingin Anda snapshot debug.
Penting
Untuk men-snapshot debug, Anda perlu membuka versi kode sumber yang sama yang diterbitkan ke layanan Azure Virtual Machine\Virtual Machine Scale Set Anda.
Pilih Debug > Lampirkan Snapshot Debugger.... Pilih Azure Virtual Machine\Virtual Machine Scale Set aplikasi web Anda disebarkan ke dan akun penyimpanan Azure, lalu klik Lampirkan. Snapshot Debugger juga mendukung Azure Kubernetes Service dan Azure App Service.
Penting
Pertama kali Anda memilih Lampirkan Snapshot Debugger untuk VM Anda, IIS secara otomatis dimulai ulang. Pertama kali Anda memilih Lampirkan Snapshot Debugger untuk Virtual Machine Scale Sets Anda, memerlukan peningkatan manual setiap instans Virtual Machine Scale Sets.
Catatan
(Visual Studio 2019 versi 16.2 dan di atasnya) Snapshot Debugger telah mengaktifkan dukungan cloud Azure. Pastikan sumber daya Azure dan akun Azure Storage yang Anda pilih berasal dari cloud yang sama. Silakan hubungi administrator Azure Anda jika Anda memiliki pertanyaan tentang konfigurasi kepatuhan Azure enterprise Anda.
Metadata untuk Modul awalnya tidak akan diaktifkan, navigasikan ke aplikasi web dan tombol Mulai Koleksi akan menjadi aktif. Visual Studio sekarang dalam mode penelusuran kesalahan snapshot.
Catatan
Untuk VMSS, pengguna diharuskan untuk meningkatkan instans secara manual di Virtual Machine Scale Sets mereka setelah melampirkan Snapshot Debugger untuk pertama kalinya.
Jendela Modul menunjukkan kepada Anda ketika semua modul telah dimuat untuk Azure Virtual Machine\Virtual Machine Scale Set (pilih Debug > Windows > Modul untuk membuka jendela ini).
Atur snappoint
Di editor kode, klik sisi kiri di samping baris kode yang Anda minati untuk mengatur snappoint. Pastikan kode yang Anda ketahui akan dijalankan.
Klik Mulai Koleksi untuk mengaktifkan snappoint.
Tip
Anda tidak dapat melangkah saat melihat snapshot, tetapi Anda dapat menempatkan beberapa snappoint dalam kode Anda untuk mengikuti eksekusi pada baris kode yang berbeda. Jika Anda memiliki beberapa snappoint dalam kode Anda, Snapshot Debugger memastikan bahwa snapshot yang sesuai berasal dari sesi pengguna akhir yang sama. Snapshot Debugger melakukan ini meskipun ada banyak pengguna yang membuka aplikasi Anda.
Mengambil snapshot
Setelah snappoint diatur, Anda dapat membuat snapshot secara manual dengan membuka tampilan browser situs web Anda dan menjalankan baris kode yang ditandai atau menunggu pengguna Anda membuatnya dari penggunaan situs mereka.
Periksa data snapshot
Saat snappoint terkena, snapshot muncul di jendela Alat Diagnostik. Untuk membuka jendela ini, pilih Debug > Windows > Tampilkan Alat Diagnostik.
Klik dua kali snappoint untuk membuka snapshot di editor kode.
Dari tampilan ini, Anda dapat mengarahkan kursor ke variabel untuk melihat DataTips, menggunakan jendela Lokal, Watches, dan Tumpukan Panggilan, dan juga mengevaluasi ekspresi.
Situs web itu sendiri masih aktif dan pengguna akhir tidak terpengaruh. Hanya satu snapshot yang diambil per snappoint secara default: setelah snapshot ditangkap, snappoint akan dinonaktifkan. Jika Anda ingin mengambil snapshot lain di snappoint, Anda dapat mengaktifkan kembali snappoint dengan mengeklik Perbarui Koleksi.
Anda juga dapat menambahkan lebih banyak snappoint ke aplikasi Anda dan mengaktifkannya dengan tombol Perbarui Koleksi.
Butuh bantuan? Lihat halaman Pemecahan masalah dan masalah yang diketahui dan FAQ untuk penelusuran kesalahan snapshot.
Mengatur snappoint kondisional
Jika sulit untuk membuat ulang status tertentu di aplikasi Anda, pertimbangkan untuk menggunakan snappoint kondisional. Snappoint kondisional membantu Anda mengontrol kapan harus mengambil snapshot seperti saat variabel berisi nilai tertentu yang ingin Anda periksa. Anda dapat mengatur ketentuan menggunakan ekspresi, filter, atau jumlah klik.
Untuk membuat snappoint kondisional
Klik kanan ikon snappoint (bola berongga) dan pilih Pengaturan.
Di jendela pengaturan snappoint, ketik ekspresi.
Dalam ilustrasi sebelumnya, snapshot hanya diambil untuk snappoint ketika
visitor.FirstName == "Dan"
.
Mengatur logpoint
Selain mengambil snapshot saat snappoint terkena, Anda juga dapat mengonfigurasi snappoint untuk mencatat pesan (yaitu, membuat logpoint). Anda dapat mengatur logpoint tanpa harus menyebarkan ulang aplikasi Anda. Logpoint dijalankan secara virtual dan tidak menyebabkan dampak atau efek samping pada aplikasi Anda yang sedang berjalan.
Untuk membuat logpoint
Klik kanan ikon snappoint (segi enam biru) dan pilih Pengaturan.
Di jendela pengaturan snappoint, pilih Tindakan.
Di bidang Pesan, Anda dapat memasukkan pesan log baru yang ingin Anda catat. Anda juga dapat mengevaluasi variabel dalam pesan log Anda dengan menempatkannya di dalam kurung kurawal.
Jika Anda memilih Kirim ke Windows Output, saat logpoint ditekan, pesan akan muncul di jendela Alat Diagnostik.
Jika Anda memilih Kirim ke log aplikasi, saat logpoint ditekan, pesan akan muncul di mana pun Anda dapat melihat pesan dari
System.Diagnostics.Trace
(atauILogger
di .NET Core), seperti Aplikasi Insights.
Konten terkait
Dalam tutorial ini, Anda telah mempelajari cara menggunakan Snapshot Debugger untuk Azure Virtual Machines dan Azure Virtual Machine Scale Sets. Anda mungkin ingin membaca detail lebih lanjut tentang fitur ini.