Debugging Tools for Windows

!findfilelockowner

!findfilelockowner扩展通过在所有线程中检查某个阻塞在IopSynchronousServiceTail断言上,并且使用文件对象作为参数的线程,来查找该文件对象的所有者。

语法

!findfilelockowner [FileObject]

参数

FileObject
指定文件对象的地址。如果省略FileObject,则命令搜索当前进程中所有在IopAcquireFileObjectLock等待的线程并且从堆栈回溯中获得文件对象的地址。

DLL

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

Build machine: CAPEBUILD