Bagikan melalui


Debug live ASP.NET Azure Kubernetes Services 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 Kubernetes Services 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 Kubernetes Services berikut:

    • Aplikasi ASP.NET Core yang berjalan pada .NET Core 2.2 atau yang lebih baru di Debian 9.

    • Aplikasi ASP.NET Core yang berjalan pada .NET Core 2.2 atau yang lebih baru di Alpine 3.8.

    • Aplikasi ASP.NET Core yang berjalan di .NET Core 2.2 atau versi yang lebih baru pada Ubuntu 18.04.

      Nota

      Untuk membantu Anda mengaktifkan dukungan untuk Snapshot Debugger di AKS, kami telah menyediakan repositori yang berisi sekumpulan Dockerfiles yang menunjukkan penyiapan pada gambar Docker.

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 Kubernetes Anda.

  2. Pilih Debug > Lampirkan Snapshot Debugger.... Pilih sumber daya AKS tempat aplikasi web Anda disebarkan dan akun penyimpanan Azure, lalu klik Lampirkan. Snapshot Debugger juga mendukung Azure App Service dan Azure Virtual Machines (VM) & Virtual Machine Scale Sets.

    Luncurkan debugger rekam jepret dari menu Debug

    Pilih Sumber Daya Azure

    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.

Visual Studio sekarang dalam mode debugging snapshot.

Mode penelusuran kesalahan rekam jepret

Jendela Modul menunjukkan kepada Anda ketika semua modul telah dimuat untuk Azure App Service (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 Kubernetes. Anda mungkin ingin membaca detail selengkapnya tentang fitur ini.