Bagikan melalui


Men-debug aplikasi ASP.NET langsung di komputer virtual Azure dan set skala komputer virtual Azure menggunakan Snapshot Debugger

Nota

Debugging jepretan telah dihapus dan tidak akan tersedia di Visual Studio 2022 versi terbaru dan semua versi setelahnya. Meskipun tidak ada penggantian yang tepat, ada alat lain yang dapat memberikan diagnostik bermanfaat:

Snapshot Debugger mengambil cuplikan aplikasi yang sedang berjalan ketika kode yang Anda minati dieksekusi. Untuk menginstruksikan debugger untuk mengambil rekam jepret, Anda mengatur snappoint dan titik log 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 rekam jepret pada snappoint membutuhkan waktu 10-20 milidetik.

Dalam tutorial ini, Anda akan:

  • Mulai Snapshot Debugger
  • Mengatur snappoint dan melihat rekam jepret
  • Mengatur titik log

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 individual , Anda menemukannya di bawah Penelusuran kesalahan dan pengujian>Debugger Snapshot.)

    Jika belum diinstal, instal Visual Studio 2019 Enterprise.

  • Koleksi rekam jepret tersedia untuk aplikasi web Azure Virtual Machines\Virtual Machine Scale Sets berikut:

    • ASP.NET aplikasi yang berjalan pada .NET Framework 4.6.1 atau yang lebih baru.
    • Aplikasi ASP.NET Core yang berjalan pada .NET Core 2.0 atau versi terbaru di Windows.

    Nota

    Visual Studio Enterprise yang berjalan pada Windows 32-bit tidak akan dapat melihat rekam jepret.

Buka proyek Anda dan mulai Snapshot Debugger

  1. Buka proyek yang ingin Anda rekam jepret debugnya.

    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.

  2. Pilih Debug > Lampirkan Snapshot Debugger.... Pilih Azure Virtual Machine\\Virtual Machine Scale Set di mana aplikasi web Anda disebarkan dan akun penyimpanan Azure, lalu klik Lampirkan. Snapshot Debugger juga mendukung Azure Kubernetes Service dan Azure App Service.

    Luncurkan debugger rekam jepret dari menu Debug

    Pilih Sumber Daya Azure

    Penting

    Pertama kali Anda memilih Lampirkan Snapshot Debugger untuk VM Anda, IIS secara otomatis dimulai ulang. Pada kali pertama Anda memilih Lampirkan Snapshot Debugger untuk Virtual Machine Scale Sets Anda, Anda perlu melakukan peningkatan secara manual pada setiap instans dari Virtual Machine Scale Sets.

    Nota

    (Visual Studio 2019 versi 16.2 ke atas) Snapshot Debugger telah mengaktifkan dukungan cloud Azure. Pastikan bahwa sumber daya Azure dan akun Azure Storage yang Anda pilih berasal dari cloud yang sama. Silakan hubungi administrator Azure Jika Anda memiliki pertanyaan tentang konfigurasi kepatuhan Azure perusahaan Anda.

    Metadata untuk Modul awalnya tidak akan diaktifkan, navigasikan ke aplikasi web dan tombol Mulai Koleksi akan menjadi aktif. Visual Studio sekarang dalam mode debugging snapshot.

    Mode penelusuran kesalahan rekam jepret

    Nota

    Untuk VMSS, pengguna diharuskan untuk meningkatkan instans secara manual di Skala Set Mesin Virtual 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 > Modul Windows > untuk membuka jendela ini).

    Periksa jendela Modul

Mengatur titik penjangkaran

  1. Di editor kode, klik pinggir kiri di samping baris kode yang ingin ditandai untuk menempatkan titik penanda. Pastikan itu adalah kode yang pasti akan dijalankan.

    Tentukan titik sambungan

  2. Klik Mulai Koleksi untuk mengaktifkan titik snappoint.

    Mengaktifkan titik jepret

    Petunjuk / Saran

    Anda tidak dapat berpindah saat melihat cuplikan, tetapi Anda dapat menempatkan beberapa snappoint dalam kode Anda untuk memantau jalannya eksekusi di baris kode yang berbeda. Jika Anda memiliki beberapa snappoint dalam kode Anda, Snapshot Debugger memastikan bahwa rekam jepret yang sesuai berasal dari sesi pengguna akhir yang sama. Snapshot Debugger melakukan ini bahkan jika ada banyak pengguna yang mengakses aplikasi Anda.

Ambil foto

Setelah snappoint diatur, Anda dapat membuat rekam jepret secara manual dengan masuk ke tampilan browser situs web Anda dan menjalankan baris kode yang ditandai, atau menunggu pengguna Anda menghasilkan rekam jepret tersebut melalui penggunaan mereka atas situs web Anda.

Memeriksa data cuplikan

  1. Saat snappoint tercapai, snapshot tertampil di jendela Alat Diagnostik. Untuk membuka jendela ini, pilih Debug > Windows > Show Diagnostic Tools.

    Membuka titik kait

  2. Klik dua kali snappoint untuk membuka rekam jepret di editor kode.

    Memeriksa data cuplikan

    Dari tampilan ini, Anda dapat mengarahkan mouse ke variabel untuk melihat DataTips, menggunakan jendela Lokal, Watch, dan Tumpukan Panggilan, dan juga mengevaluasi ekspresi.

    Situs web itu sendiri masih aktif dan pengguna akhir tidak terpengaruh. Hanya satu cuplikan yang diambil per snappoint secara bawaan: setelah cuplikan diambil, snappoint akan dinonaktifkan. Jika Anda ingin mengambil rekam jepret lain di snappoint, Anda dapat mengaktifkan kembali snappoint dengan mengklik Perbarui Koleksi.

Anda juga dapat menambahkan lebih banyak snappoint ke aplikasi Anda dan mengaktifkannya dengan tombol Perbarui Koleksi .

Butuh bantuan? Lihat Pemecahan masalah dan isu yang diketahui dan FAQ untuk debugging snapshot .

Mengatur titik jepret bersyarah

Jika sulit untuk membuat ulang status tertentu di aplikasi Anda, pertimbangkan untuk menggunakan snappoint kondisional. Snappoint bersyarat membantu Anda mengontrol kapan harus mengambil jepretan, misalnya saat variabel berisi nilai tertentu yang ingin Anda periksa. Anda dapat mengatur kondisi menggunakan ekspresi, filter, atau jumlah hit.

Untuk membuat snappoint kondisional

  1. Klik kanan ikon snappoint (bola berongga) dan pilih Pengaturan.

    Pilih Pengaturan

  2. Di jendela pengaturan snappoint, ketik ekspresi.

    Ketik ekspresi

    Dalam ilustrasi sebelumnya, rekam jepret hanya diambil untuk snappoint ketika visitor.FirstName == "Dan".

Mengatur titik log

Selain mengambil rekaman snapshot ketika sebuah snappoint terkena, Anda juga dapat mengonfigurasi snappoint untuk mencatat pesan (yaitu, membuat logpoint). Anda dapat mengatur titik log tanpa harus menyebarkan ulang aplikasi Anda. Titik log dijalankan secara virtual dan tidak menyebabkan dampak atau efek samping pada aplikasi Anda yang sedang berjalan.

Untuk membuat titik log

  1. Klik kanan ikon snappoint (segi enam biru) dan pilih Pengaturan.

  2. Di jendela pengaturan snappoint, pilih Tindakan.

    Membuat titik log

  3. Di bidang Pesan , Anda bisa 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 Jendela Output, saat logpoint tercapai, pesan akan muncul di jendela Alat Diagnostik.

    Data titik log di jendela Alat Diagnostik

    Jika Anda memilih Kirim ke log aplikasi, saat titik log dijalankan, pesan tersebut muncul di mana saja Anda dapat melihat pesan dari System.Diagnostics.Trace (atau ILogger di .NET Core), seperti App Insights.

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 selengkapnya tentang fitur ini.