Properti Pemverifikasi Driver untuk Proyek Paket Driver
Driver Verifier adalah alat verifikasi run-time yang meningkatkan efektivitas pengujian driver Anda. Anda dapat mengaktifkan dan mengonfigurasi Pemverifikasi Driver untuk dijalankan di semua komputer uji ketika Anda menyebarkan driver untuk pengujian.
Anda harus selalu menyiapkan koneksi debugging mode kernel dengan komputer uji ketika Anda mengaktifkan Pemverifikasi Driver pada komputer uji jarak jauh. Untuk informasi tentang mengonfigurasi komputer target dan menyiapkan kabel debug, lihat Memulai Penelusuran Kesalahan Windows.
Mengatur properti Pemverifikasi Driver untuk proyek paket driver
- Buka halaman properti untuk paket driver Anda. Pilih dan tahan (atau klik kanan) proyek paket driver di Penjelajah Solusi dan pilih Properti.
- Di halaman properti untuk paket driver, pilih Properti Konfigurasi, pilih Penginstalan Driver, lalu pilih Verifikasi Driver.
- Pilih opsi Aktifkan Verifikasi Driver . Ketika opsi ini dipilih, Anda dapat memilih driver atau driver untuk diverifikasi pada komputer uji dan Anda dapat memilih opsi Pemverifikasi Driver untuk digunakan.
Konfigurasi dan Platform Proyek
Daftar konfigurasi dan daftar platform memungkinkan Anda menerapkan pengaturan penyebaran yang berbeda untuk konfigurasi proyek dan kombinasi platform yang berbeda. Misalnya, Anda dapat menyebarkan driver ke satu komputer uji menggunakan serangkaian opsi penyebaran untuk build debug dan ke komputer pengujian yang berbeda menggunakan opsi penyebaran untuk build rilis.
Aktifkan Pemverifikasi Driver
Anda bisa memfungsikan Pemverifikasi Driver pada komputer uji untuk semua pengandar pada komputer, hanya untuk proyek pengandar, atau untuk daftar pengandar yang ditentukan. Misalnya, Anda mungkin ingin mengaktifkan Pemverifikasi Driver untuk kumpulan driver pada tumpukan untuk perangkat tertentu.
Verifikasi Driver
Menentukan pengandar atau pengandar mana yang akan diverifikasi pada komputer uji.
Semua Driver
Menentukan bahwa Pemverifikasi Driver memverifikasi semua pengandar yang terinstal pada komputer uji jarak jauh.
Output Proyek
Menentukan bahwa Pemverifikasi Driver memverifikasi proyek pengandar yang terinstal pada komputer uji jarak jauh. Ini adalah opsi default.
Daftar Driver
Menentukan pengandar atau daftar pengandar yang diverifikasi Oleh Pemverifikasi Driver pada komputer uji jarak jauh. Misalnya, Anda dapat mencantumkan semua driver yang terkait dengan perangkat tertentu. Tentukan driver menurut nama biner, misalnya, Driver.sys. Gunakan titik koma untuk memisahkan daftar driver. Nilai wildcard, seperti n*.sys, tidak didukung.
Bendera Standar Pemverifikasi Driver
Anda dapat mengonfigurasi opsi Pemverifikasi Driver berikut pada komputer uji.
Pemeriksaan kepatuhan DDI (Windows 8)
Ketika opsi ini aktif, Driver Verifier menerapkan serangkaian aturan antarmuka driver perangkat (DDI) yang memeriksa interaksi yang tepat antara driver dan antarmuka kernel sistem operasi.
-
Ketika opsi ini aktif, Driver Verifier memantau penggunaan driver kunci spin, mutex, dan mutex cepat. Ini mendeteksi apakah kode driver memiliki potensi untuk menyebabkan kebuntuan di beberapa titik.
-
Ketika opsi ini aktif, Pemverifikasi Driver memantau penggunaan rutinitas akses memori langsung (DMA) driver. Ini mendeteksi penggunaan buffer, adaptor, dan register peta DMA yang tidak tepat.
-
Ketika opsi ini aktif, Driver Verifier menempatkan tekanan memori ekstrem pada driver dengan membatalkan kode yang dapat di-pageable. Jika driver mencoba mengakses memori halaman di IRQL yang salah atau saat memegang kunci spin, Driver Verifier mendeteksi perilaku ini.
-
Ketika opsi ini aktif, Driver Verifier mengalokasikan Interrupt Request Packets (IRP) driver dari kumpulan khusus, dan memantau penanganan I/O driver. Ini mendeteksi penggunaan rutinitas I/O yang ilegal atau tidak konsisten. Driver Verifier juga memantau panggilan beberapa rutinitas I/O Manager dan melakukan pengujian stres IRP Plug-and-Play (PnP), runtime integrasi daya, dan IRP WMI.
-
Ketika opsi ini aktif, Pemverifikasi Driver mencari penyebab umum crash driver, seperti kesalahan penanganan memori yang dibebaskan.
-
Ketika opsi ini aktif, Driver Verifier memeriksa untuk melihat apakah driver telah membebaskan semua alokasi memorinya ketika dibongkar. Ini mengungkapkan kebocoran memori.
-
Ketika opsi ini aktif, Driver Verifier mencari kesalahan umum yang dapat mengakibatkan kerentanan keamanan, seperti referensi ke alamat mode pengguna oleh rutinitas mode kernel.
-
Ketika opsi ini aktif, Driver Verifier mengalokasikan sebagian besar permintaan memori driver dari kumpulan khusus. Kumpulan khusus ini dipantau untuk overrun memori, underrun memori, dan memori yang diakses setelah dibebaskan.
Pengaturan Spesifik Skenario Pemverifikasi Driver
-
Ketika opsi ini aktif, Pemverifikasi Driver secara acak gagal permintaan alokasi kumpulan dan permintaan sumber daya lainnya. Dengan menyuntikkan kesalahan alokasi ini ke dalam sistem, Driver Verifier menguji kemampuan driver untuk mengatasi situasi sumber daya rendah.
Paksa permintaan I/O yang tertunda
Ketika opsi ini aktif, Pemverifikasi Driver menguji respons driver terhadap STATUS_PENDING mengembalikan nilai dengan mengembalikan STATUS_PENDING untuk panggilan acak ke IoCallDriver.
-
Ketika opsi ini aktif, Pemverifikasi Driver memantau penggunaan runtime integrasi driver dan membuat log penggunaan IRP.
Pemeriksaan MDL Invariant untuk Tumpukan (Windows 8)
Opsi Invariant MDL Checking for Stack memantau bagaimana driver menangani buffer MDL yang invarian di seluruh tumpukan driver. Driver Verifier dapat mendeteksi modifikasi ilegal buffer MDL invariant. Untuk menggunakan opsi ini, Verifikasi I/O harus diaktifkan pada setidaknya satu driver.
MDL Invariant Memeriksa Driver (Windows 8)
Opsi Pemeriksaan MDL Invariant untuk Driver memantau bagaimana driver menangani buffer MDL yang invarian berdasarkan per driver. Opsi ini mendeteksi modifikasi ilegal buffer MDL invariant. Untuk menggunakan opsi ini, Anda harus mengaktifkan Verifikasi I/O pada setidaknya satu driver.
Fuzzing Penundaan Power Framework (Windows 8)
Ketika opsi ini aktif, Driver Verifier mengacak jadwal utas untuk membantu menghapus kesalahan konkurensi di driver.
Injeksi Kegagalan Berbasis Tumpukan (Windows 8)
Opsi Injeksi Kegagalan Berbasis Tumpukan menyuntikkan kegagalan sumber daya dalam driver mode kernel. Opsi ini menggunakan driver khusus, KmAutoFail.sys, bersama dengan Driver Verifier untuk menembus jalur penanganan kesalahan driver.
Catatan Anda tidak dapat menggabungkan Injeksi Kegagalan Berbasis Tumpukan dengan simulasi sumber daya Rendah.
Opsi Pemverifikasi Driver yang memerlukan Verifikasi I/O
Ada empat opsi yang mengharuskan Anda mengaktifkan Verifikasi I/O terlebih dahulu. Jika Verifikasi I/O tidak diaktifkan, opsi ini tidak diaktifkan.
- Paksa Permintaan I/O Tertunda
- Pengelogan IRP
- Pemeriksaan MDL Invariant untuk Tumpukan
- MDL Invariant Memeriksa Driver
Topik 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