Pemverifikasi Driver Statis
Static Driver Verifier (juga dikenal sebagai "StaticDV" atau "SDV") adalah alat verifikasi statis yang menganalisis kode sumber driver mode kernel Windows secara sistematis. SDV adalah alat waktu kompilasi yang mampu menemukan cacat dan masalah desain pada driver. Berdasarkan serangkaian aturan antarmuka dan model sistem operasi, SDV menentukan apakah driver berinteraksi dengan benar dengan kernel sistem operasi Windows.
Penting
SDV tidak lagi didukung dan SDV tidak tersedia di rilis Windows 24H2 WDK atau EWDK. Ini tidak tersedia di WDK yang lebih baru dari build 26017, dan tidak termasuk dalam WDK Windows 24H2 RTM.
SDV masih dapat digunakan dengan mengunduh Windows 11, versi 22H2 EWDK (dirilis 24 Oktober 2023) dengan alat build Visual Studio 17.1.5 dari Unduh Windows Driver Kit (WDK). Hanya penggunaan Enterprise WDK untuk menjalankan SDV yang direkomendasikan. Menggunakan versi WDK standar yang lebih lama bersama dengan rilis Terbaru Visual Studio tidak disarankan, karena ini kemungkinan akan mengakibatkan kegagalan analisis.
Ke depannya, CodeQL akan menjadi alat analisis statis utama untuk driver. CodeQL menyediakan bahasa kueri canggih yang memperlakukan kode sebagai database yang akan dikueri, sehingga mudah untuk menulis kueri untuk perilaku, pola, dan lainnya tertentu.
Untuk informasi selengkapnya tentang menggunakan CodeQL, lihat CodeQL dan Uji Logo Alat Statis.
Menginstal Pemverifikasi Driver Statis
Verifier Driver Statis tersedia sebagai bagian dari Windows Driver Kit (WDK) dalam pengalaman WDK penuh dan di Enterprise WDK mandiri. Selain itu, Paket Visual C++ Redistributable untuk Visual Studio diperlukan agar SDV berjalan. Lihat masalah berikut:
- Redistribusi Visual Studio 2019
- Paket Visual C++ Redistributable untuk Visual Studio 2017
- Paket Visual C++ Dapat Didistribusikan untuk Visual Studio 2013
Untuk versi SDV yang tersedia di WDK untuk Windows 10, Versi 1809 atau yang lebih lama, Paket Visual C++ Redistributable untuk Visual Studio 2012 harus diinstal alih-alih paket 2017.
Integrasi Visual Studio
Verifier Driver Statis diintegrasikan ke dalam Visual Studio. Anda dapat menjalankan analisis statis pada proyek driver Visual Studio Anda. Anda dapat meluncurkan, mengonfigurasi, dan mengontrol Pemverifikasi Driver Statis dari menu Driver di Visual Studio.
Dokumentasi Pemverifikasi Driver Statis
- Masalah Umum Pemverifikasi Driver Statis: Mencantumkan masalah terbaru yang diketahui untuk Pemverifikasi Driver Statis
- Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver: Memberi tahu Anda apa yang Anda butuhkan untuk mulai menganalisis kode driver Anda di lingkungan Visual Studio.
- Perintah Pemverifikasi Driver Statis (MSBuild): Mencantumkan perintah MSBuild yang akan digunakan untuk menjalankan SDV di jendela Prompt Perintah Visual Studio.
- Memperkenalkan Verifier Driver Statis: Memberikan gambaran umum tentang alat analisis statis.
- Menggunakan Verifier Driver Statis: Menyediakan detail tentang menggunakan dan mengonfigurasi alat analisis statis.
- Laporan Pemverifikasi Driver Statis: Menjelaskan penampil yang menampilkan jejak terperinci dari analisis kode statis.
- Aturan Pemverifikasi Driver Statis: Aturan menentukan persyaratan untuk interaksi yang tepat antara model driver dan antarmuka kernel sistem operasi.
- Referensi Pemverifikasi Driver Statis: Menyediakan informasi referensi tentang jenis peran fungsi, file konfigurasi SDV, kesalahan, dan pesan peringatan.
Menemukan Bug di Kode Driver Windows
Microsoft menggunakan SDV untuk menguji driver mode kernel yang disertakan dengan sistem operasi Microsoft Windows dan untuk menguji driver sampel di WDK. Dengan menggunakan aturan kepatuhan DDI untuk model driver tertentu, SDV dapat memverifikasi perilaku driver yang benar. Misalnya, SDV dapat memverifikasi bahwa driver:
- Memanggil fungsi di IRQL yang benar
- Memperoleh dan melepaskan kunci dalam urutan yang benar
- Menggunakan fungsi dengan benar yang menangani paket permintaan I/O (IRP)
SDV memeriksa semua jalur yang mungkin melalui kode driver. Ini dirancang untuk menemukan kesalahan serius dalam jalur tidak jelas yang tidak mungkin ditemui bahkan dalam pengujian menyeluruh.
Sumber Daya Tambahan:
Untuk informasi spesifik tentang driver yang dapat diverifikasi SDV, lihat Driver yang Didukung
Untuk informasi selengkapnya dan tips tentang menggunakan Pemverifikasi Driver Statis, lihat yang berikut ini: