Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dimulai dengan Windows Vista, Windows menyediakan crash, non-respons, dan pelaporan kesalahan kernel secara default tanpa memerlukan perubahan pada aplikasi Anda. Laporan akan mencakup informasi minidump dan heap dump jika diperlukan. Aplikasi sebagai gantinya menggunakan WER API untuk mengirim laporan masalah khusus aplikasi ke Microsoft.
Karena Windows secara otomatis melaporkan pengecualian yang tidak tertangani, aplikasi tidak boleh menangani pengecualian fatal. Jika proses yang salah atau tidak merespons bersifat interaktif, WER menampilkan antarmuka pengguna yang memberi tahu pengguna tentang masalah tersebut. Aplikasi dianggap tidak responsif jika tidak merespons pesan Windows selama lima detik saat pengguna mencoba berinteraksi dengan aplikasi.
Alur Pelaporan Kesalahan Windows untuk kerusakan, tidak merespons, dan kesalahan kernel
Berikut ini menunjukkan langkah-langkah yang terjadi untuk crash aplikasi, non-respons, atau kesalahan kernel.
- Peristiwa masalah terjadi.
- Sistem operasi memanggil WER.
- WER mengumpulkan data, membuat laporan, dan meminta persetujuan kepada pengguna (jika diperlukan).
- WER mengirimkan laporan ke Microsoft (Watson Server) jika pengguna menyetujuinya.
- Jika server Watson meminta data tambahan, WER mengumpulkan data dan meminta persetujuan kepada pengguna (jika diperlukan).
- Jika aplikasi telah mendaftar untuk pemulihan dan memulai ulang, WER menjalankan fungsi panggilan balik terdaftar saat data dikompresi dan dikirim ke Microsoft (jika pengguna menyetujui).
- Jika respons terhadap masalah tersedia dari Microsoft, pengguna akan diberi tahu.
Aplikasi dapat menggunakan fungsi berikut untuk menyesuaikan konten laporan yang dikirim ke Microsoft. Fungsi pendaftaran memberi tahu WER untuk menyertakan file dan blok memori tertentu dalam laporan kesalahan yang dibuatnya.
- WerRegisterFile
- WerRegisterMemoryBlock
- WerSetFlags
- WerUnregisterFile
- WerUnregisterMemoryBlock
- WerGetFlags
Alur Pelaporan Kesalahan Windows untuk pelaporan peristiwa umum
Langkah-langkah berikut menunjukkan bagaimana aplikasi bisa mendapatkan laporan kesalahan untuk kondisi kesalahan non-fatal.
- Masalah yang tidak fatal terjadi.
- Aplikasi mengenali peristiwa dan menggunakan urutan panggilan fungsi berikut untuk menghasilkan laporan.
- Panggil fungsiWerReportCreate untuk membuat laporan.
- Panggil fungsiWerReportSetParameter untuk mengatur parameter laporan.
- Panggil fungsiWerReportAddFile untuk menambahkan file ke laporan.
- Panggil fungsiWerReportAddDump untuk menambahkan minidump ke laporan (jika diperlukan).
- Panggil fungsiWerReportSubmit untuk mengirim laporan.
- Panggil WerReportCloseHandle untuk melepaskan sumber daya.
- Bergantung pada opsi tertentu yang digunakan saat memanggil fungsi di langkah 2, WER akan menyelesaikan pelaporan kesalahan. WER akan memastikan bahwa pelaporan dilakukan sesuai dengan kebijakan yang ditetapkan oleh pengguna. Misalnya, WER akan mengirim laporan ke Microsoft, mengantrekan laporan, dan menampilkan antarmuka pengguna yang sesuai kepada pengguna.
Mengecualikan aplikasi dari Pelaporan Kesalahan Windows
Untuk mengecualikan aplikasi Anda dari pelaporan kesalahan Windows, gunakan fungsiWerAddExcludedApplication. Untuk memulihkan pelaporan kesalahan untuk aplikasi Anda, gunakan fungsiWerRemoveExcludedApplication.
Memulihkan data secara otomatis dan memulai ulang aplikasi yang rusak
Aplikasi dapat menggunakan Pemulihan Aplikasi dan Mulai Ulang untuk menyimpan data dan informasi status sebelum aplikasi keluar karena pengecualian yang tidak tertangani atau ketika aplikasi berhenti merespons. Aplikasi juga dimulai ulang, jika diminta. Untuk detailnya, lihat Application Recovery dan Restart.
API Warisan
Aplikasi dapat melaporkan kesalahan dengan memanggil fungsi ReportFault. Namun, Anda tidak boleh menggunakan fungsi ReportFault kecuali Anda memiliki persyaratan yang sangat spesifik yang tidak dapat dipenuhi oleh perilaku pelaporan kesalahan default sistem operasi.
Jika pelaporan kesalahan diaktifkan, sistem menampilkan kotak dialog kepada pengguna yang menunjukkan bahwa aplikasi mengalami masalah dan akan ditutup. Jika ada debugger yang dikonfigurasi di kunci HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug, pengguna diberi opsi untuk meluncurkan debugger. Pengguna juga diberi opsi untuk mengirim laporan ke Microsoft. Jika pengguna mengirim laporan, sistem menampilkan kotak dialog lain yang berterima kasih kepada pengguna atas laporan dan memberikan tautan ke informasi lebih lanjut.
Sistem pelaporan kesalahan mendukung mode operasi berikut.
| Mode operasi | Deskripsi |
|---|---|
| Pelaporan memori bersama | Jika konteks keamanan aplikasi sama dengan konteks keamanan pengguna yang masuk, sistem pelaporan kesalahan menggunakan blok memori bersama untuk komunikasi. Mode ini tidak dapat digunakan dengan mode laporan manifest. |
| Pelaporan manifes | Jika konteks keamanan aplikasi tidak sama dengan konteks keamanan pengguna yang masuk, sistem pelaporan kesalahan menggunakan file untuk komunikasi. Mode ini juga digunakan untuk melaporkan aplikasi yang tidak responsif dan kesalahan kernel. Mode ini tidak dapat digunakan dengan mode pelaporan memori berbagi. |
| Pelaporan internet | Sistem pelaporan kesalahan mengirim semua data ke Microsoft melalui Internet. Ini adalah mode operasi default. Ini tidak dapat digunakan dengan mode pelaporan perusahaan. Mode ini digunakan ketika tidak ada jalur unggahan perusahaan yang ditentukan oleh administrator. |
| Pelaporan perusahaan | Sistem pelaporan kesalahan mengirim semua data ke berbagi file alih-alih mengunggahnya langsung ke Microsoft. Ini memungkinkan manajer TI perusahaan untuk meninjau data sebelum dikirim ke Microsoft. Mode ini digunakan ketika ada jalur unggahan perusahaan yang ditentukan oleh administrator. Ini tidak dapat digunakan dengan mode pelaporan Internet. |
| Pelaporan tanpa kepala | Sistem pelaporan kesalahan tidak akan menampilkan kotak dialog apa pun kepada pengguna. Hal ini memungkinkan manajer IT perusahaan untuk mengumpulkan laporan kesalahan dari karyawan mereka setiap saat. Mode ini digunakan saat pelaporan diaktifkan oleh administrator, tetapi pemberitahuan dinonaktifkan. Ini hanya dapat digunakan dengan mode pelaporan perusahaan. |
Untuk mengecualikan aplikasi Anda dari pelaporan kesalahan, gunakan fungsiAddERExcludedApplication.