!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。

Data
指定要在搜索中匹配的数据。

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