Aracılığıyla paylaş


Statik Sürücü Doğrulayıcı Tanılaması

SDV, sizin ve Microsoft'un SDV'nin karşılaşabileceği sorunları gidermenize yardımcı olabilecek bir tanılama moduna sahiptir. Tanılama modu etkinleştirildiğinde, SDV, sürücü projenizdeki farklı dosyalara her doğrulama aşaması ve kural için iletileri kaydeder.

Tanılamayı Etkinleştirme

SDV için tanılama modu (hata ayıklama modu olarak da bilinir) şu anda yalnızca komut satırından çalıştırılırken etkinleştirilebilir. Komut satırından çalıştırma hakkında daha fazla bilgi için bkz. Statik Sürücü Doğrulayıcı komutları (MSBuild).

Tanılamayı etkinleştirmek için /debug bayrağını bir /check komutundan sonra ekleyin. Örneğin:

msbuild /t:sdv /p:Inputs="/check:* /debug" mydriver.VcxProj /p:Configuration="Release" /p:Platform=x64

Tanılamanın etkinleştirilmesi, komut penceresine önemli ölçüde daha fazla çıkış ve belirli günlük dosyalarının oluşturulmasına neden olur.

Tanılamayı Anlamak

SDV, yürütmenin her aşamasında birkaç dosya oluşturacak ve bu adımla ilgili ayrıntıları sağlayacaktır. SDV yürütme sırasında yarıda başarısız olduğunda, sonraki aşamalar için herhangi bir tanılama dosyası oluşturmaz.

Oluşturulan dosyalar sırasıyla şunlardır:

  • smvexecute-NormalBuild.log: Bu, sürücünüzün kaynak dizininde bulunur ve SDV'nin ek izleme ve analiz olmadan sürücüyü derlemeye ilişkin ilk girişiminin çıkışını gösterir.

  • smvexecute-InterceptedBuild.log: Bu, sürücünüzün kaynak dizininde bulunur ve SDV'nin, analiz kancaları ekleyerek sürücüyü oluşturma çıktısını gösterir.

  • smvcl.log: Bu, SDV tarafından sürücü projenizde oluşturulan "sdv" dizininde bulunur. InterceptedBuild adımının derleyici çıkışını gösterir. smvexecute-InterceptedBuild.log'da bir hata görürseniz smvcl.log'da ek ayrıntılar bulabilirsiniz.

  • smvexecute-Scan.log: Bu, SDV tarafından sürücü projenizde oluşturulan "sdv" dizininde bulunur. Giriş noktalarını bulmak için SDV'nin sürücüyü tarama girişiminin çıkışını gösterir. Burada bir hata, hiçbir giriş noktası bulunamadığını gösterebilir ve işlev rol türlerinizi veya sdv-map.h güncelleştirmeniz gerekir. Daha fazla bilgi için bkz. İşlev Rolü Türü Bildirimlerini Kullanma ve Sdv-map.h Dosyasını Onaylama .

  • smvexecute-FinalCompile.log: Bu dosyalardan biri sdv tarafından doğrulanan her kural için oluşturulur ve SDV'nin sürücü projenizde oluşturduğu "sdv\check[rule name]" alt klasöründe bulunabilir. Bu dosya, SDV'nin işletim sistemi modeli ve belirli bir kural ile sürücüyü derleme girişiminin çıkışını gösterir.

  • smvexecute-CheckRule.log: Bu dosyalardan biri sdv tarafından doğrulanan her kural için oluşturulur ve SDV'nin sürücü projenizde oluşturduğu "sdv\check[rule name]" alt klasöründe bulunabilir. Bu dosya, SDV'nin sürücünüzde belirtilen kuralı doğrulama girişiminin çıkışını gösterir.

Komut çıktısında başarısız olarak işaretlenen aşama listesinde karşılık gelen dosyayı aramalısınız. Hata FinalCompile veya CheckRule adımlarında oluştuysa, başarısız olarak listelenen belirli bir kural için klasörü denetlediğinize emin olun.