2011-09-07 64 views
0

我的司機已經墜毀在有錯誤的目標PC:WinDbg - 殺死KMDF驅動程序?

Access violation - code c0000005 (!!! second chance !!!) 
aebae9d9 8911   mov  dword ptr [ecx],edx 

由於我在內核模式調試我我的目標現在已經凍結。如果我在主機上重新啓動WinDbg,我仍然會凍結目標。

如何在目標機器上強制殺死(來自WinDbg)我掛起的驅動程序。我知道約.crash,但它不會需要重新啓動計算機,zzz ...

+0

崩潰的內核驅動程序意味着重新啓動。如果可能的話(取決於你正在編寫的驅動程序),你應該考慮將驅動程序遷移到[Windows用戶模式驅動程序框架](http://en.wikipedia.org/wiki/Windows_User_Mode_Driver_Framework),以使驅動程序脫離內核空間並進入用戶空間。 – vcsjones

回答

3

您可以使用.reboot強制重新啓動windbg - 這是從內核調試器「殺死」一個掛起的驅動程序的唯一方式。

驅動程序被加載到內核地址空間並在系統上下文中運行。它們不是一個單獨的「進程」,當它們崩潰時不能獨立於內核關閉。

2

這是不可能「殺死」一個驅動程序。根據您使用的驅動程序類型,您可能會卸載它(即微過濾器文件驅動程序)IF驅動程序未使用命令導致問題fltmc從正在運行的計算機卸載FILTER_NAME。沒有辦法通過我知道的windbg做到這一點。這聽起來像你的驅動程序已經「崩潰」,這意味着內核現在處於可能的數據損壞的不良狀態。這是不可恢復的,這就是爲什麼內核驅動程序也應該非常小心它的一切。基本上如果你在內核,你犯了一個錯誤,唯一真正的選擇是BSOD框。