Debugging Tools for Windows |
!drvobj 扩展命令显示DRIVER_OBJECT 的详细信息。
Windows 2000 | Kdextx86.dll |
Windows XP和之后 | Kdexts.dll |
如果DriverObject指定设备名,但是没有带前缀,则假定使用\Driver\前缀。注意该命令在使用表达式求值器前会检查DriverObject是否是合法地址或者设备名。
如果DriverObject是一个地址,它必须是DRIVER_OBJECT结构的地址。这可以通过检查传递给DriverEntry函数的参数得到。
该扩展命令会显示指定的驱动程序创建的所有设备对象的立标。还会显示该驱动对象注册的所有fast I/O例程。
下面是一个Symbios Logic 810 SCSI 小端口驱动程序的例子:
kd> g
symc810!DriverEntry+0x40:
80006a20: b07e0050 stl t2,50(sp)
kd> r a0 //address of DevObj (the first parameter)
a0=809d5550
kd> !drvobj 809d5550 // display the driver object
Driver object is for:
\Driver\symc810
Device Object list:
809d50d0
还可以使用!devobj 809d50d0来获得设备对象的信息。
查看Plug and Play调试获得该扩展命令的应用。关于驱动对象的信息,查看Windows Driver Kit (WDK)文档,以及Mark Russinovich 和David Solomon 编写的Microsoft Windows Internal。