Rumah >pembangunan bahagian belakang >C++ >Mengapa Acara Penangguhan WinRT Saya Tidak Dicetuskan Semasa Nyahpepijat?
Menyelesaikan Masalah Peristiwa Penggantungan WinRT Semasa Nyahpepijat
Membangunkan apl Windows Phone 8.1 menggunakan WinRT selalunya memberikan cabaran apabila menguji acara penggantungan. Acara Suspending
, yang penting untuk menyimpan keadaan apl, mungkin kelihatan tidak responsif semasa nyahpepijat. Sebagai contoh, coretan kod berikut mungkin tidak mencetuskan kaedah OnSuspending
seperti yang dijangkakan:
<code class="language-csharp">Suspending += OnSuspending; private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); deferral.Complete(); }</code>
Kekurangan pencetus ini berpunca daripada kelakuan penyahpepijat. Sistem pengendalian Windows secara aktif menghalang penggantungan semasa apl berada di bawah penyahpepijatan aktif. Seperti yang dinyatakan di tempat lain:
"Semasa menyahpepijat, acara penggantungan dan penyambungan semula tidak akan dicetuskan, walaupun apl diminimumkan dan dipulihkan. Ini kerana Windows tidak akan menggantung apl semasa ia dinyahpepijat."
Teknik Nyahpepijat Berkesan
Untuk menguji pengendalian penggantungan anda dengan berkesan, pertimbangkan pendekatan ini:
Adalah penting untuk diingat bahawa acara Suspending
berfungsi dengan betul di luar konteks penyahpepijatan. Walau bagaimanapun, kemungkinan ralat dalam pengendali acara OnSuspending
mungkin nyata berbeza semasa penyahpepijatan. Oleh itu, mencetuskan peristiwa penggantungan secara manual ialah kaedah pilihan untuk ujian semasa sesi penyahpepijatan.
Atas ialah kandungan terperinci Mengapa Acara Penangguhan WinRT Saya Tidak Dicetuskan Semasa Nyahpepijat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!