Memicu peristiwa tangguhkan, lanjutkan, dan latar belakang saat menelusuri kesalahan aplikasi UWP di Visual Studio
Saat Anda tidak melakukan penelusuran kesalahan, Windows Process Lifetime Management (PLM) mengontrol status eksekusi aplikasi Anda—memulai, menangguhkan, melanjutkan, dan mengakhiri aplikasi sebagai respons terhadap tindakan pengguna dan status perangkat. Saat Anda melakukan penelusuran kesalahan, Windows menonaktifkan peristiwa aktivasi ini. Topik ini menjelaskan cara mengaktifkan peristiwa ini di debugger.
Topik ini juga menjelaskan cara men-debug Proses di latar belakang. Proses di latar belakang memungkinkan Anda melakukan operasi tertentu dalam proses latar belakang, bahkan saat aplikasi Anda tidak berjalan. Anda dapat menggunakan debugger untuk menempatkan aplikasi Anda dalam mode debug dan kemudian— tanpa memulai UI—memulai dan men-debug proses di latar belakang.
Untuk informasi selengkapnya tentang Manajemen Masa Pakai Proses dan proses di latar belakang, lihat Meluncurkan, melanjutkan, dan multitugas.
Memicu peristiwa Manajemen Masa Pakai Proses
Windows dapat menangguhkan aplikasi Anda saat pengguna beralih dari aplikasi tersebut atau saat Windows memasuki status berdaya rendah. Anda dapat menanggapi peristiwa Suspending
untuk menyimpan aplikasi dan data pengguna yang relevan ke penyimpanan persisten dan untuk merilis sumber daya. Saat aplikasi dilanjutkan dari status Ditangguhkan, aplikasi memasuki status Berjalan dan berlanjut dari tempat aplikasi ditangguhkan. Anda dapat menanggapi peristiwa Resuming
untuk memulihkan atau merefresh status aplikasi dan mengklaim kembali sumber daya.
Meskipun Windows mencoba menyimpan aplikasi yang ditangguhkan sebanyak mungkin dalam memori, Windows dapat menghentikan aplikasi Anda jika tidak ada cukup sumber daya untuk menyimpannya dalam memori. Pengguna juga dapat secara eksplisit menutup aplikasi Anda. Tidak ada peristiwa khusus untuk menunjukkan bahwa pengguna telah menutup aplikasi.
Dalam debugger Visual Studio, Anda dapat menangguhkan, melanjutkan, dan mengakhiri aplikasi secara manual untuk men-debug peristiwa siklus hidup proses. Untuk men-debug peristiwa siklus hidup proses:
Atur titik henti di penanganan peristiwa yang ingin Anda debug.
Tekan F5 untuk mulai penelusuran kesalahan.
Pada toolbar Lokasi Debug, pilih peristiwa yang ingin Anda aktifkan:
Menangguhkan dan mengakhiri penutupan aplikasi dan mengakhiri sesi debug.
Memicu proses di latar belakang
Aplikasi apa pun dapat mendaftarkan tugas latar belakang untuk merespons peristiwa sistem tertentu, bahkan ketika aplikasi tidak berjalan. Tugas latar belakang tidak dapat menjalankan kode yang secara langsung memperbarui UI; sebaliknya, mereka menampilkan informasi kepada pengguna dengan pembaruan petak peta, pembaruan lencana, dan pemberitahuan toast. Untuk informasi selengkapnya, lihat Mendukung aplikasi Anda dengan proses di latar belakang.
Anda dapat memicu peristiwa yang memulai proses di latar belakang untuk aplikasi Anda dari debugger.
Catatan
Debugger hanya dapat memicu peristiwa yang tidak berisi data, seperti peristiwa yang menunjukkan perubahan status di perangkat. Anda harus memicu proses di latar belakang secara manual yang memerlukan input pengguna atau data lainnya.
Cara paling realistis untuk memicu peristiwa proses di latar belakang adalah saat aplikasi Anda tidak berjalan. Namun, memicu peristiwa dalam sesi penelusuran kesalahan standar juga didukung.
Memicu peristiwa proses di latar belakang dari sesi debug standar
Atur titik henti di kode proses di latar belakang yang ingin Anda debug.
Tekan F5 untuk mulai penelusuran kesalahan.
Dari daftar peristiwa pada toolbar Lokasi Debug, pilih proses di latar belakang yang ingin Anda mulai.
Memicu proses di latar belakang saat aplikasi tidak berjalan
Atur titik henti di kode proses di latar belakang yang ingin Anda debug.
Buka halaman properti debug untuk proyek awal. Di Penjelajah Solusi, pilih proyek. Pada menu Debug, pilih Properti.
Untuk proyek C++, perluas Properti Konfigurasi lalu pilih Penelusuran Kesalahan.
Lakukan salah satu langkah berikut:
Untuk Visual C# dan proyek Visual Basic, pilih Jangan luncurkan, tetapi debug kode saya saat dimulai
Untuk proyek C++, pilih Tidak dari daftar Luncurkan aplikasi.
Tekan F5 untuk menjalankan aplikasi dalam mode debug. Perhatikan daftar Proses pada toolbar Lokasi Debug menampilkan nama paket aplikasi untuk menunjukkan bahwa Anda berada dalam mode debug.
Dari daftar peristiwa pada toolbar Lokasi Debug, pilih proses di latar belakang yang ingin Anda mulai.
Memicu peristiwa Manajemen Masa Pakai Proses dan proses di latar belakang dari aplikasi yang diinstal
Gunakan kotak dialog Paket Aplikasi Terinstal Debug untuk memuat aplikasi yang sudah diinstal ke debugger. Misalnya, Anda dapat men-debug aplikasi yang diinstal dari Microsoft Store, atau men-debug aplikasi saat Anda memiliki file sumber untuk aplikasi, tetapi bukan proyek Visual Studio untuk aplikasi. Kotak dialog Paket Aplikasi Terinstal Debug memungkinkan Anda memulai aplikasi dalam mode debug di komputer Visual Studio atau di perangkat jarak jauh, atau mengatur aplikasi agar berjalan dalam mode debug tetapi tidak memulainya. Untuk informasi selengkapnya, lihat Men-debug paket aplikasi yang diinstal.
Setelah aplikasi dimuat ke debugger, Anda dapat menggunakan salah satu prosedur yang dijelaskan di atas.
Mendiagnosis kesalahan aktivasi proses di latar belakang
Log diagnostik di Windows Pemantau Peristiwa untuk infrastruktur latar belakang berisi informasi terperinci yang dapat Anda gunakan untuk mendiagnosis dan memecahkan masalah kesalahan proses di latar belakang. Untuk melihat log:
Buka aplikasi Pemantau Peristiwa.
Di panel Tindakan, pilih Tampilkan dan pastikan Tampilkan Log Analitik dan Debug dicentang.
Pada pohon Pemantau Peristiwa (Lokal), perluas nodeLog Aplikasi dan Layanan>Microsoft>Windows>BackgroundTasksInfrastructure.
Pilih log Diagnostik.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk