Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows Sürücü Seti'ni (WDK) yükleyerek veya Enterprise Windows Driver Kit'i (EWDK) çalıştırarak Visual Studio Komut İstemi penceresinde Statik Sürücü Doğrulayıcı'yı (SDV) çalıştırabilirsiniz. Sürücünün proje dosyasının veya kitaplığın proje dosyasının depolandığı dizine gidin. Parametreler komut satırında herhangi bir sırada görüntülenebilir.
Important
SDV artık desteklenmemektedir ve SDV, Windows 24H2 WDK veya EWDK sürümlerinde kullanılamaz. Derleme 26017'den daha yeni olan WDK'lerde kullanılamaz ve Windows 24H2 RTM WDK'ye dahil değildir.
SDV, Windows Sürücü Seti'ni (WDK) İndirme sayfasından Visual Studio derleme araçları 17.1.5 ile Windows 11, sürüm 22H2 EWDK (24 Ekim 2023'te yayımlandı) indirilerek kullanılabilir. SDV'yi çalıştırmak için yalnızca Enterprise WDK kullanılması önerilir. Visual Studio'nun son sürümleriyle birlikte standart WDK'nin eski sürümlerinin kullanılması önerilmez, bu da büyük olasılıkla analiz hatalarına neden olur.
Bundan sonra CodeQL, sürücüler için birincil statik analiz aracı olacaktır. CodeQL, kodu sorgulanacak bir veritabanı olarak değerlendiren ve belirli davranışlar, desenler ve daha fazlası için sorgu yazmayı basit hale getiren güçlü bir sorgu dili sağlar.
CodeQL kullanma hakkında daha fazla bilgi için bkz. CodeQL ve Statik Araçlar Logo Testi.
msbuild /t:sdv /p:Inputs="Parameters" ProjectFile /p:Configuration=configuration /p:Platform=platform
Bir Yayın yapılandırması seçmelisiniz (örneğin, /p:Configuration="Windows 7 Sürümü"). Desteklenen Sürüm Yapılandırmaları listesi için bkz. Sürücü Oluşturma. Platform Win32 (x86 için) veya x64 (örneğin, /p:Platform=Win32) olabilir.
Note
Analiz sırasında bilgisayarın uyku durumuna girmediğinden emin olmak için bilgisayarınızın güç yönetimi planını kontrol edin.
Parameters
/scan
İşlev rolü türü bildirimleri için sürücünün kaynak kodunu tarar. Sürücü tarafından sağlanan geri çağırma işlevlerini ve dağıtım yordamlarını bildirme hakkında bilgi için bkz. İşlev Rolü Türü Bildirimlerini Kullanma. Bu tarama sırasında SDV, sürücüyü doğrulamak için gereken sürücü giriş noktalarını algılamaya çalışır. Taramanın sonuçlarını sürücünün proje dizininde oluşturduğu Sdv-map.h dosyasına kaydeder.
Daha fazla bilgi için bkz . Kaynak kodunuzu hazırlama.
/check:<em>Rule</em> |Rule,...
Belirtilen kurallarla doğrulama başlatır. Her kuralı virgülle ayırarak birden fazla kural belirtebilirsiniz. /check: komutunu çalıştırın ve sürücünün Visual Studio proje dosyasını (*.vcxproj) belirtin.
Kural , bir veya daha fazla karakteri temsil eden joker karakter (*) içeren bir kuralın veya kural adı deseninin adıdır. Tek başına kullanıldığında joker karakter (*) tüm kuralları temsil eder.
/check:RuleList.sdv
Belirtilen kural listesi dosyasındaki kurallarla bir doğrulama başlatır. Bu parametreye sahip tek bir dosyayı listeleyebilirsiniz. Kural listesi dosyasında her satır bir kuralın adı olabileceği gibi, tüm SDV kurallarını temsil eden joker karakter (*) de olabilir. /check:RuleList.sdv komutunu çalıştırın ve sürücünün Visual Studio proje dosyasını (*.vcxproj) belirtin.
RuleList.sdv, bir kural listesi dosyasının tam yolu ve dosya adıdır. Dosya .sdv dosya adı uzantısına sahip olmalıdır. Dosya yerel dizinde olmadığı sürece yol gereklidir. Yol veya dosya adı boşluk içeriyorsa RuleList'i içine almanız gerekir.tırnak içinde sdv.
Bir kural belirtmeden /check: seçeneğini belirtirseniz, SDV sürücü modeli için varsayılan kural kümesiyle çalışır.
/lib
Kitaplığı geçerli dizinde işler. SDV, dış kullanım için kitaplığı derlemek ve derlemek için MSBuild.exe çağırır ve kitaplığı sürücü doğrulamaya dahil etmesi için gereken dosyaları oluşturur.
Kitaplığı gerektiren sürücüleri doğrulamadan önce bu parametreyi kullanın. msbuild /t:sdv /p:Inputs="/lib" komutunu çalıştırın ve kitaplık için Visual Studio proje dosyasını (*.vcxproj) belirtin.
/lib parametresinin kullanımı ve etkisi hakkında daha fazla bilgi için bkz. Statik Sürücü Doğrulayıcıda Kitaplık İşleme.
/view
Statik Sürücü Doğrulayıcı'nın açılması. /view komutlarını çalıştırın ve sürücünün Visual Studio proje dosyasını (*.vcxproj) belirtin.
Sonuçlar, doğrulama tamamlandıktan hemen sonra kullanılabilir ve SDV dosyalarını sürücünün proje dizininden silmek için /clean komutunu kullanana kadar kullanılabilir durumda kalır.
/clean
Dizinden SDV dosyalarını siler. Bu dosyalar Statik Sürücü Doğrulayıcı Raporu görüntüsünü oluşturmak için kullanıldığından , /clean komutu doğrulama raporunu da siler.
Bir /clean komutu çalıştırın ve sürücü veya kitaplık için Visual Studio proje dosyasını (*.vcxproj) belirtin. komutu yalnızca belirtilen proje için SDV dosyalarını siler.
Her doğrulamadan önce sürücü projesi için bir /clean komutu çalıştırın.
Kitaplık dosyaları güncel olmadığında (örneğin, kitaplık kodu değiştiğinde) kitaplık için bir /clean komutu çalıştırın.
Sdv-map.h dosyasında onaylanan bayrak true olarak ayarlandıysa (Approved=true) bir /clean komutu Sdv-map.h dosyasını kaldırmaz. SDV daha sonra bu dosyayı gelecekteki doğrulamalar için kullanabilir.
/?
SDV komutlarının kullanımını görüntüler. Bu parametreyi kullanan komutların derleme ortamı penceresinde çalıştırılması gerekmez.
Comments
msbuild /t:/sdv p:/Inputs= /? parametresiz çalıştırılırken SDV komutları için kullanım görüntülenir.
/clean komutu, SDV'nin doğrulama için Statik Sürücü Doğrulayıcı Raporu görüntüsünü oluşturmak için kullandığı dosyaları siler. Bu komutu çalıştırdıktan sonra, doğrulama için Statik Sürücü Doğrulayıcı Raporu artık kullanılamaz.
Examples
Mydriver projesinin yerel dizinindeki sürücü dosyalarındaki tüm kuralları kullanarak SDV'yi çalıştırmak için:
msbuild /t:sdv /p:Inputs="/check:*" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32
SDV'yi yerel dizindeki sürücü dosyalarında CancelSpinLock kuralını kullanarak çalıştırmak için:
msbuild /t:sdv /p:Inputs="/check:CancelSpinLock" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32
SDV'yi, D:\SDV dizinindeki Rules1.sdv kural listesi dosyasında belirtilen kuralı kullanarak çalıştırmak için:
msbuild /t:sdv /p:Inputs="/check:D:\SDV\Rules1.sdv" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32
SDV'yi yeniden çalıştırmak için bu kez /clean seçeneğini kullanın:
msbuild /t:sdv /p:Inputs="/clean" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32
Yerel dizinde sürücünün en son doğrulamasının sonuçlarını görüntüleyebilmeniz için Statik Sürücü Doğrulayıcı'nın görüntülenmesi için:
msbuild /t:sdv /p:Inputs="/view" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32
İlgili konular
Windows Sürücülerindeki Hataları Bulmak için Statik Sürücü Doğrulayıcı kullanma