Penyahpepijatan dan Acara Penangguhan WinRT: Panduan Penyelesaian Masalah
Membangunkan aplikasi Windows Phone 8.1 menggunakan WinRT kadangkala boleh menimbulkan cabaran. Satu isu biasa ialah kegagalan acara penggantungan menyala semasa sesi penyahpepijatan. Mari kita periksa coretan kod biasa dan teroka penyelesaiannya:
<code>public App() { ... Suspending += OnSuspending; } private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); deferral.Complete(); }</code>
Kod ini mendaftarkan kaedah OnSuspending
untuk mengendalikan penggantungan apl. Walau bagaimanapun, semasa nyahpepijat, acara ini tidak akan dicetuskan. Ini kerana:
Penyahpepijat Menghalang Penggantungan
Penyahpepijat Windows dengan sengaja menghalang penggantungan apl untuk memastikan pengalaman penyahpepijatan yang lancar. Tingkah laku ini adalah dengan reka bentuk.
Menguji Logik Penggantungan
Untuk menguji pengendalian penggantungan anda dengan tepat, anda mempunyai dua pilihan:
Jalankan Tanpa Nyahpepijat: Hanya jalankan apl anda di luar penyahpepijat. Ini akan membolehkan sistem menggantung apl anda seperti biasa, mencetuskan acara OnSuspending
.
Penggantungan Manual dalam Visual Studio: Bar alat nyahpepijat Visual Studio menyediakan cara untuk mensimulasikan penggantungan:
Debug
-> Debug Location
.Nota Penyahpepijatan Penting
Had penyahpepijatan ini boleh menutup kemungkinan masalah dalam pengendali acara OnSuspending
anda. Ralat dalam kod ini mungkin tidak muncul semasa nyahpepijat. Sentiasa uji logik penggantungan anda dalam persekitaran yang tidak menyahpepijat untuk mendapatkan hasil yang boleh dipercayai. Ujian menyeluruh di luar penyahpepijat adalah penting untuk memastikan apl anda berfungsi dengan betul apabila digantung.
Atas ialah kandungan terperinci Mengapa Acara Menangguhkan Apl WinRT Saya Tidak Mencetuskan Semasa Penyahpepijatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!