驅動程式套件專案的驅動程式驗證器屬性
驅動程式驗證器 是執行時間驗證工具,可提升驅動程式測試的有效性。 您可以在部署驅動程式進行測試時,啟用並設定驅動程式驗證器在所有測試電腦上執行。
當您在遠端測試電腦上啟用驅動程式驗證程式時,應該一律設定與測試電腦的核心模式偵錯連線。 如需設定目的電腦及設定偵錯纜線的相關資訊,請參閱使用 Windows 偵錯消費者入門。
設定驅動程式套件專案的驅動程式驗證器屬性
- 開啟驅動程式套件的屬性頁。 選取並按住 (或以滑鼠右鍵按一下) 方案總管中的驅動程式套件專案,然後選取 [屬性]。
- 在驅動程式套件的屬性頁面中,依序選取 [ 組態屬性]、[ 驅動程式安裝],然後選取 [ 驅動程式驗證]。
- 選取 [ 啟用驅動程式驗證] 選項。 選取此選項時,您可以選取要在測試電腦上驗證的驅動程式或驅動程式,也可以選取要使用的 驅動程式驗證器 選項。
專案組態和平臺
組態清單和平臺清單可讓您針對不同的專案組態和平臺組合套用不同的部署設定。 例如,您可以使用偵錯組建的一組部署選項,將驅動程式部署到一部測試電腦,以及使用發行組建部署選項的不同測試電腦。
啟用驅動程式驗證器
您可以在測試電腦上啟用驅動程式驗證器,以取得電腦上的所有驅動程式、僅適用于驅動程式專案,或指定驅動程式的清單。 例如,您可能想要為特定裝置堆疊上的一組驅動程式啟用驅動程式驗證器。
驗證驅動程式
指定要在測試電腦上驗證哪些驅動程式或驅動程式。
所有驅動程式
指定驅動程式驗證器會驗證遠端測試電腦上所有已安裝的驅動程式。
專案輸出
指定驅動程式驗證器會驗證遠端測試電腦上安裝的驅動程式專案。 這是預設選項。
驅動程式清單
指定驅動程式驗證程式在遠端測試電腦上驗證的驅動程式或驅動程式清單。 例如,您可以列出與特定裝置相關聯的所有驅動程式。 以二進位名稱指定驅動程式,例如Driver.sys。 使用分號分隔驅動程式清單。 不支援萬用字元值,例如 n*.sys。
驅動程式驗證器標準旗標
您可以在測試電腦上設定下列驅動程式驗證器選項。
DDI 合規性檢查 (Windows 8)
當此選項為作用中時,驅動程式驗證器會套用一組設備磁碟機介面, (DDI) 規則,以檢查驅動程式與作業系統的核心介面之間是否有適當的互動。
-
當此選項為作用中時,驅動程式驗證程式會監視驅動程式使用微調鎖定、Mutex 和快速 Mutex。 這會偵測驅動程式的程式碼是否有可能在某個時間點造成死結。
-
當此選項為作用中時,驅動程式驗證程式會監視驅動程式使用直接記憶體存取 (DMA) 常式。 這會偵測 DMA 緩衝區、配接器和地圖暫存器的不當使用。
-
當此選項為使用中時,驅動程式驗證器會藉由使可分頁程式碼失效,對驅動程式產生極端的記憶體壓力。 如果驅動程式嘗試在錯誤的 IRQL 或按住微調鎖定時存取分頁記憶體,驅動程式驗證器會偵測到此行為。
-
當此選項為作用中時,驅動程式驗證器會從特殊集區配置驅動程式的中斷要求封包 (IRP) ,並監視驅動程式的 I/O 處理。 這會偵測 I/O 常式不合法或不一致的使用。 驅動程式驗證器也會監視數個 I/O 管理員常式的呼叫,並執行隨插即用 (PnP) IRP、電源 IRP 和 WMI IRP 的壓力測試。
-
當此選項為作用中時,驅動程式驗證程式會尋找驅動程式當機的常見原因,例如釋放記憶體的錯誤處理。
-
當此選項為使用中時,驅動程式驗證程式會檢查驅動程式是否已在卸載時釋放其所有記憶體配置。 這會顯示記憶體流失。
-
當此選項為作用中時,驅動程式驗證程式會尋找可能導致安全性弱點的常見錯誤,例如核心模式常式對使用者模式位址的參考。
-
當此選項為作用中時,驅動程式驗證器會從特殊集區配置大部分的驅動程式記憶體要求。 此特殊集區會監視記憶體滿溢、記憶體不足,以及釋放之後存取的記憶體。
驅動程式驗證器案例特定設定
-
當此選項為作用中時,驅動程式驗證器會隨機失敗集區配置要求和其他資源要求。 藉由將這些配置錯誤插入系統,驅動程式驗證器會測試驅動程式處理低資源狀況的能力。
-
當此選項為作用中時,驅動程式驗證程式會傳回STATUS_PENDING以呼叫 IoCallDriver,以測試驅動程式對STATUS_PENDING傳回值的回應。
-
當此選項為作用中時,驅動程式驗證程式會監視驅動程式的 IRP 使用狀況,並建立 IRP 使用的記錄。
-
Invariant MDL Checking for Stack選項會監視驅動程式如何處理驅動程式堆疊上的非變異 MDL 緩衝區。 驅動程式驗證器可以偵測不合法的非變異 MDL 緩衝區修改。 若要使用此選項,必須在至少一個驅動程式上啟用 I/O 驗證。
-
Invariant MDL Checking for Driver選項會監視驅動程式如何處理個別驅動程式的不變異 MDL 緩衝區。 此選項會偵測不合法的非變異 MDL 緩衝區修改。 若要使用此選項,您必須至少在一個驅動程式上啟用 I/O 驗證。
Power Framework 延遲模糊 (Windows 8)
當此選項為作用中時,驅動程式驗證器會隨機化執行緒排程,以協助清除驅動程式中的並行錯誤。
堆疊型失敗插入 (Windows 8)
堆疊型失敗插入選項會在核心模式驅動程式中插入資源失敗。 此選項會搭配 驅動程式驗證器 使用特殊的驅動程式KmAutoFail.sys,來滲透驅動程式錯誤處理路徑。
需要 I/O 驗證的驅動程式驗證器選項
有四個選項會要求您先啟用 I/O 驗證。 如果未啟用 I/O 驗證,則不會啟用這些選項。