!irpfind
!irpfind 扩展显示目标系统中当前分配的所有 I/O 请求数据包(IRP)或与指定搜索条件匹配的 IRP 的相关信息。
语法
!irpfind [-v][PoolType[RestartAddress[CriteriaData]]]
参数
-v
显示详细信息。
PoolType
指定要搜索的池的类型。 允许以下值:
0
指定非分页内存池。 这是默认值。
1
指定分页内存池。
2
指定特殊池。
4
指定会话池。
RestartAddress
指定要开始搜索的十六进制地址。 如果先前的搜索提前终止,这将非常有用。 默认值为零。
标准
指定搜索条件。 仅显示满足给定匹配项的 IRP。
条件 | 匹配 |
---|---|
arg |
查找具有其中一个参数等于 Data 的堆栈位置的所有 IRP。 |
device |
查找堆栈位置为 DeviceObject 等于 Data 的所有 IRP。 |
fileobject |
查找 Irp.Tail.Overlay.OriginalFileObject 等于 Data 的所有 IRP。 |
mdlprocess |
查找 Irp.MdlAddress.Process 等于 Data 的所有 IRP。 |
thread |
查找 Irp.Tail.Overlay.Thread 等于 Data 的所有 IRP。 |
userevent |
查找 Irp.UserEvent 等于 Data 的所有 IRP。 |
数据
指定要在搜索中匹配的数据。
DLL
Kdexts.dll
其他信息
有关此扩展命令的应用,请参阅即插即用调试。 有关 IRP 的信息,请参阅 Windows 驱动程序工具包(WDK)文档和 Mark Russinovich 和 David Solomon 编写的 Microsoft Windows 内部资料。
注解
本示例在非分页池中查找 IRP,该池将在完成时设置用户事件 FF9E4F48:
kd> !irpfind 0 0 userevent ff9e4f48
以下示例生成非分页池中所有 IRP 的完整列表:
kd> !irpfind
Searching NonPaged pool (8090c000 : 8131e000) for Tag: Irp
8097c008 Thread 8094d900 current stack belongs to \Driver\symc810
8097dec8 Thread 8094dda0 current stack belongs to \FileSystem\Ntfs
809861a8 Thread 8094dda0 current stack belongs to \Driver\symc810
809864e8 Thread 80951ba0 current stack belongs to \Driver\Mouclass
80986608 Thread 80951ba0 current stack belongs to \Driver\Kbdclass
80986728 Thread 8094dda0 current stack belongs to \Driver\symc810