verifier.exe是驅(qū)動(dòng)器校驗(yàn)管理器,一個(gè)進(jìn)程相關(guān)的Microsoft ® Windows ®操作系統(tǒng)的微軟公司
參數(shù)驗(yàn)證
驅(qū)動(dòng)程序調(diào)用的所有旋轉(zhuǎn)鎖、IRQL 和池分配都接受自動(dòng)參數(shù)驗(yàn)證。這意味著檢查以下各項(xiàng): 引發(fā)的 IRQL 確實(shí)是引發(fā)的 IRQL(當(dāng)前 IRQL 低于目標(biāo) IRQL)。 較低的 IRQL 確實(shí)是較低的 IRQL。
釋放兩次旋轉(zhuǎn)鎖。
旋轉(zhuǎn)鎖的獲得/釋放是在正確的 IRQL 下完成的。 頁(yè)面緩沖池分配/釋放是在正確的 IRQL(APC_LEVEL 或更低)下完成的。 非頁(yè)面緩沖池分配/釋放是在正確的 IRQL(DISPATCH_LEVEL 或更低)下完成的。 沒(méi)有為這些應(yīng)用程序編程接口指定隨機(jī)(未初始化)值。
池分配注入失敗
如果驅(qū)動(dòng)程序沒(méi)有將池分配標(biāo)記為 MUST_SUCCEED,池分配可能會(huì)被隨機(jī)取消,以確保該驅(qū)動(dòng)程序可以正確地處理出現(xiàn)的內(nèi)存不足情況。
要釋放的池
檢查所有要釋放的池,確保在此池分配中沒(méi)有掛起的計(jì)時(shí)器,因?yàn)檫@會(huì)導(dǎo)致系統(tǒng)崩潰的原因更加難于查找。 池泄漏檢測(cè)
系統(tǒng)自動(dòng)跟蹤驅(qū)動(dòng)程序的所有池分配。在卸載驅(qū)動(dòng)程序時(shí),如果沒(méi)有釋放任何分配,就會(huì)執(zhí)行錯(cuò)誤檢查。隨后,您可以使用 !verifier 3 內(nèi)核調(diào)試程序命令來(lái)顯示未釋放的所有配額。也可以在卸載前使用此命令,查看驅(qū)動(dòng)程序在任一時(shí)刻的未定分配。
驅(qū)動(dòng)程序卸載檢查
執(zhí)行驅(qū)動(dòng)程序卸載檢查的目的是為了找出那些已卸載但沒(méi)有清除所用資源(這樣就增加了在驅(qū)動(dòng)程序卸載后不久即開(kāi)始檢查系統(tǒng)錯(cuò)誤的可能性)的驅(qū)動(dòng)程序。驅(qū)動(dòng)程序無(wú)法刪除的資源包括擱置資源的列表、掛起的延遲過(guò)程調(diào)用 (DPC)、工作線程、隊(duì)列、計(jì)時(shí)器和其他資源。
I/O 驗(yàn)證程序
如果您使用驗(yàn)證程序工具或 VerifyDriverLevel 注冊(cè)表項(xiàng)打開(kāi)“I/O 驗(yàn)證程序”標(biāo)志(有關(guān)更多信息,請(qǐng)參考本文“啟用驅(qū)動(dòng)程序驗(yàn)證”一節(jié)),就會(huì)打開(kāi)某些 I/O 管理器驗(yàn)證。其中包括: 通過(guò) IoAllocateIrp 分配的所有 IRPS 都將從特殊池中分配。 將在 IoCallDriver、IoCompleteRequest 和 IoFreeIrp 中進(jìn)行檢查以捕捉驅(qū)動(dòng)程序錯(cuò)誤信息。 所有 I/O 驗(yàn)證程序失敗都使用代碼 DRIVER_VERIFIER_IOMANAGER_VIOLATION (0xC9) 進(jìn)行錯(cuò)誤檢查。
驅(qū)動(dòng)程序驗(yàn)證程序要求
唯一的要求是您必須安裝 Windows 2000、Windows XP 或 Windows Server 2003。您可以在 Windows 零售版和已通過(guò)驗(yàn)證的版本上啟用驅(qū)動(dòng)程序驗(yàn)證程序。要了解在生產(chǎn)服務(wù)器上啟用驅(qū)動(dòng)程序驗(yàn)證程序管理器前需要考慮的事項(xiàng),請(qǐng)參閱 Microsoft 知識(shí)庫(kù)文章 251233。如果您安裝了 Norton Antivirus,請(qǐng)不要啟用驅(qū)動(dòng)程序驗(yàn)證程序的“死鎖檢測(cè)”功能,因?yàn)?Microsoft 知識(shí)庫(kù)文章 325672 中不建議這樣做。
啟用驅(qū)動(dòng)程序驗(yàn)證程序
您可以使用 Verifier.exe 來(lái)啟用驅(qū)動(dòng)程序驗(yàn)證程序。 Verifier.exe 包含在每個(gè) Windows 副本中,并自動(dòng)安裝到 System32 文件夾中。Verifier.exe 具有命令行界面和圖形用戶界面 (GUI),因此,您可以指定驅(qū)動(dòng)程序和相應(yīng)的驗(yàn)證等級(jí)。您還可以實(shí)時(shí)查看驅(qū)動(dòng)程序驗(yàn)證程序統(tǒng)計(jì)信息。有關(guān)其他信息,請(qǐng)參閱本文“驅(qū)動(dòng)程序驗(yàn)證程序管理器”一節(jié)。 調(diào)試驅(qū)動(dòng)程序驗(yàn)證程序沖突 內(nèi)核調(diào)試程序中的 !verifier 命令以及 Verifier.exe 工具都能實(shí)時(shí)顯示當(dāng)前驅(qū)動(dòng)程序驗(yàn)證程序的配置和統(tǒng)計(jì)信息。