Debugging Tools for Windows |
!findfilelockowner扩展通过在所有线程中检查某个阻塞在IopSynchronousServiceTail断言上,并且使用文件对象作为参数的线程,来查找该文件对象的所有者。
Windows 2000 | 不可用 |
Windows XP和之后 | Kdexts.dll |
当经历了某次临界区(critical section)超时,并且超时的线程是在IopAcquireFileObjectLock中等待文件时,该扩展是最有用的。找到这个出问题的线程后,扩展命令会尝试复原该请求的IRP,并且显示正在处理该IRP的驱动程序。
该扩展命令由于要遍历系统中所有线程的调用堆栈,直到找到出问题的线程,所以可能要花费一些时间。可以通过按下CTRL+BREAK (WinDbg中) 或者 CTRL+C (KD中)来中断它。
关于文件对象的信息,查看Microsoft Windows SDK 文档、 Windows Driver Kit (WDK) 文档、以及Mark Russinovich 和David Solomon编写的Microsoft Windows Internals。