Debug aplikasi Service Fabric Anda dengan menggunakan Visual Studio
Mendebug aplikasi Service Fabric lokal
Penting
Penelusuran kesalahan jarak jauh tidak didukung pada VS 2022
Anda dapat menghemat waktu dan uang dengan menyebarkan dan mendebug aplikasi Azure Service Fabric Anda di kluster pengembangan komputer lokal. Visual Studio 2019 atau 2015 dapat menggunakan aplikasi ke kluster lokal dan secara otomatis menghubungkan debugger ke semua instans aplikasi Anda. Visual Studio harus dijalankan sebagai Administrator untuk menyambungkan debugger.
Mulai kluster pengembangan lokal dengan mengikuti langkah-langkah di Menyiapkan lingkungan pengembangan Service Fabric.
Tekan F5 atau klik Debug>Mulai Mendebug.
Atur titik henti di kode Anda dan lakukan di aplikasi dengan mengklik perintah di menu Debug.
Catatan
Visual Studio terlampir ke semua instans aplikasi Anda. Saat Anda melangkah melalui kode, titik henti mungkin terkena beberapa proses yang menghasilkan sesi bersamaan. Coba nonaktifkan titik henti setelah terhalang, dengan membuat setiap titik henti bersyarat pada ID thread atau dengan menggunakan peristiwa diagnostik.
Jendela Peristiwa Diagnostik akan terbuka secara otomatis agar Anda dapat melihat peristiwa diagnostik secara realtime.
Anda juga dapat membuka jendela Peristiwa Diagnostik di Cloud Explorer. Pada Service Fabric, klik kanan node apa pun dan pilih Tampilkan Streaming Trace.
Jika Anda ingin memfilter jejak Anda ke layanan atau aplikasi tertentu, aktifkan streaming jejak pada layanan atau aplikasi tertentu tersebut.
Peristiwa diagnostik dapat dilihat dalam file ServiceEventSource.cs yang dibuat secara otomatis dan dipanggil dari kode aplikasi.
ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
Jendela Peristiwa Diagnostik mendukung pemfilteran, jeda, dan pemeriksaan peristiwa secara realtime. Filter adalah pencarian string sederhana dari pesan peristiwa, termasuk kontennya.
Layanan debugging seperti mendebug aplikasi lain. Anda biasanya akan mengatur Breakpoint melalui Visual Studio agar mudah didebug. Meskipun Reliable Collection mereplikasi di beberapa node, namun masih menerapkan IEnumerable. Implementasi ini berarti Anda dapat menggunakan Tampilan Hasil di Visual Studio saat Anda melakukan debug untuk melihat apa yang telah Anda simpan di dalamnya. Untuk melakukannya, atur breakpoint di mana saja dalam kode Anda.
Menjalankan skrip sebagai bagian dari debugging
Dalam skenario tertentu, Anda mungkin perlu menjalankan skrip sebagai bagian dari memulai sesi debugging (misalnya saat tidak menggunakan Layanan Default).
Di Visual Studio, Anda dapat menambahkan file yang disebut Start-Service.ps1 di folder Skrip proyek Aplikasi Service Fabric (.sfproj). Skrip ini akan dipanggil setelah aplikasi dibuat di kluster lokal.
Mendebug aplikasi Service Fabric jarak jauh
Jika aplikasi Service Fabric Anda berjalan pada kluster Service Fabric di Azure, Anda dapat mendebug aplikasi ini dari jarak jauh, langsung dari Visual Studio.
Catatan
Fitur ini memerlukan Service Fabric SDK 2.0 dan Azure SDK for .NET 2.9.
Peringatan
Debugging jarak jauh dimaksudkan untuk skenario dev/test dan tidak digunakan di lingkungan produksi, karena dampak pada aplikasi yang sedang berjalan.
Buka kluster Anda di Cloud Explorer. Klik kanan dan pilih Aktifkan Debugging
Tindakan ini akan memulai proses mengaktifkan ekstensi debugging jarak jauh pada node kluster Anda dan konfigurasi jaringan yang diperlukan.
Klik kanan node kluster di Cloud Explorer, dan pilih Lampirkan Debugger
Dalam dialog Lampirkan ke proses, pilih proses yang ingin Anda debug, dan klik Lampirkan
Nama proses yang ingin Anda lampirkan, sama dengan nama assembly proyek layanan Anda.
Debugger akan melampirkan ke semua node yang menjalankan proses.
Dalam kasus ketika Anda mendebug layanan stateless, semua instans layanan pada semua node adalah bagian dari sesi debug.
Jika Anda mendebug layanan yang stateful, hanya replika utama partisi yang akan aktif dan karenanya tertangkap oleh debugger. Jika replika utama bergerak selama sesi debug, pemrosesan replika tersebut masih akan menjadi bagian dari sesi debug.
Untuk hanya menangkap partisi atau instans yang relevan dari layanan tertentu, Anda dapat menggunakan titik henti bersyarat untuk hanya memecahkan partisi atau instans tertentu.
Catatan
Saat ini kami tidak mendukung debugging kluster Service Fabric dengan beberapa instans dengan nama executable layanan yang sama.
Setelah selesai mendebug aplikasi, Anda dapat menonaktifkan ekstensi debugging jarak jauh dengan mengklik kanan kluster di Cloud Explorer dan memilih Nonaktifkan Debugging
Streaming trace dari node kluster jarak jauh
Anda juga dapat melakukan stream trace langsung dari node kluster jarak jauh ke Visual Studio. Fitur ini memungkinkan Anda melakukan streaming peristiwa trace ETW, yang diproduksi pada node kluster Service Fabric.
Catatan
Fitur ini memerlukan Service Fabric SDK 2.0 dan Azure SDK for .NET 2.9. Fitur ini hanya mendukung kluster yang berjalan di Azure.
Peringatan
Streaming trace dimaksudkan untuk skenario dev/test dan tidak digunakan di lingkungan produksi, karena dampak pada aplikasi yang sedang berjalan. Dalam skenario produksi, Anda harus mengandalkan penerusan peristiwa menggunakan Azure Diagnostics.
Buka kluster Anda di Cloud Explorer. Klik kanan dan pilih Aktifkan Streaming Trace
Tindakan ini akan memulai proses mengaktifkan ekstensi streaming trace pada node kluster Anda, serta konfigurasi jaringan yang diperlukan.
Perluas elemen Node di Cloud Explorer,klik kanan node yang ingin Anda streaming jejaknya dan pilih Lihat Streaming Trace
Ulangi langkah 2 untuk node sebanyak yang Anda inginkan untuk melihat trace dari. Setiap aliran node akan muncul di jendela khusus.
Anda sekarang dapat melihat trace yang dihasilkan oleh Service Fabric, dan layanan Anda. Jika Anda ingin memfilter peristiwa untuk hanya menampilkan aplikasi tertentu, cukup ketik nama aplikasi di filter.
Setelah selesai streaming jejak dari kluster, Anda dapat menonaktifkan streaming trace jarak jauh, dengan mengklik kanan kluster di Cloud Explorer dan memilih Nonaktifkan Jejak Streaming