请问!irpfind这个命令需要设置什么才能起作用?
Windows内核调试
请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 11:18 上午
如题,我在两台电脑(都是xp sp3)上试,一台可以显示,
另一台不可以,两者的区别标明如下
lkd> !irpfind
unable to get large pool allocation table - either wrong symbols or pool tagging is disabled
Searching NonPaged pool (81dc5000 : 89dc5000) for Tag: Irp?
//可以显示的那台这里有内容,不可以显示的那台看不到东西,怀疑是需要开某个开关才能起作用
Searching NonPaged pool (f7be0000 : ffbe0000) for Tag: Irp?
希望知道的朋友赐教,谢谢
Re: 请问!irpfind这个命令需要设置什么才能起作用?
Thomson
2009-10-16, 13:55 下午
在有问题的机器上,有 nt!PoolBigPageTable这个symbol吗?
x nt!PoolBigPageTable.
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 14:46 下午
感谢回复.
lkd> x nt!PoolBigPageTable
80566d54 nt!PoolBigPageTable =
有的。顺便说下,我还按了网上的办法把global flag里面的pool tag也设置了(0x400),还是不起作用
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 15:04 下午
或者换一个角度,某个己存在的device,我想确定附加于它身上的pending的IRP,我可以通过什么命令查到这个IRP呢?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
Thomson
2009-10-16, 15:36 下午
你的机器的build number 是2600吗?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
Thomson
2009-10-16, 15:48 下午
另外一个问题,你上面的nt!PoolBigPageTable 里面的value是多少?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 15:53 下午
出问题机器的环境详细如下:(是2600)
Microsoft Windows Debugger Version 6.11.0001.402 X86
Copyright Microsoft Corporation. All rights reserved.
Connected to Windows XP 2600 x86 compatible target at (Fri Oct 16 15:51:33.968 2009 (GMT+8)), ptr64 FALSE
这个是poolBigPageTable的地址:
lkd> x nt!poolbigpageTable
80566d54 nt!PoolBigPageTable =
"no type information" (网页不显示这行字)
不是很明白您所指的值是..?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
Thomson
2009-10-16, 16:03 下午
dd nt!PoolBigPageTable l1
输出是什么?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 16:08 下午
lkd> dd 80566d54
80566d54 8a5b1000 000007ff 00000801 897b5000
80566d64 00000000 beff0244 00000000 80565b60
80566d74 897025b8 fd9da600 ffffffff 00000000
80566d84 00000000 ff7fffff ffffffff ffffffff
80566d94 ffbdffdf ffdfffff fffdfeff fbffffff
80566da4 ffffffff ffffbeff fffffdde efffffff
80566db4 fffeffff fffffbef ffffefff fbeffffb
80566dc4 ffffffff 7fffefff ffffffff ffefffef
Re: 请问!irpfind这个命令需要设置什么才能起作用?
Thomson
2009-10-16, 16:16 下午
dd 8a5b1000 呢?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 16:20 下午
lkd> dd 8a5b1000
8a5b1000 e2000000 43544e49 00000104 e3001000
8a5b1010 74536d4d 00000003 00000001 00000000
8a5b1020 00000000 00000001 00000000 00000000
8a5b1030 e1004000 6274624f 00000001 e1005000
8a5b1040 6274624f 00000001 e1006000 2020654b
8a5b1050 00000002 e3004001 20626747 00000001
8a5b1060 e3007000 74536d4d 00000001 e3009001
8a5b1070 20207050 00000001 e300a001 58494d4b
Re: 请问!irpfind这个命令需要设置什么才能起作用?
Thomson
2009-10-16, 17:12 下午
比较奇怪,在xp上,只要nt!PoolBigPageTable里面的value不为0, 就应该在这个pool上search,
你改过gflag的pool tagging选项后重启了吗?
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-16, 17:14 下午
嗯,重启过了,还是不行的。不行的那台机器不管是主机还是虚拟机都显示不了irp的信息.
还有就是,恰恰相反,反而能显示IRP的那台机您刚才所说的那个poolxx它的内容却是0
lkd> x nt!PoolBigPageTable
80566d54 nt!PoolBigPageTable =
lkd> dd 80566d54
80566d54 00000000 00000000 00000000 00000000
80566d64 00000000 beff0244 00000000 80565b60
80566d74 89616040 fd9da600 ffffffff 00000000
80566d84 00000000 00000000 00000000 00000000
80566d94 00000000 00000000 00000000 00000000
80566da4 00000000 00000000 00000000 00000000
80566db4 00000000 00000000 00000000 00000000
80566dc4 00000000 00000000 00000000 00000000
Re: 请问!irpfind这个命令需要设置什么才能起作用?
skyNirvana
2009-10-20, 10:27 上午
结帖了。
现在不行的那台机也可以了,但是具体原因我也不知道是为什么(有待以后经验)。如果碰到相同问题的朋友可以尝试下以下的办法:1).\system32\verifier,我目前是根据可以显示的那台机器来配置不行的那台机,详细的使用请参考windbg 2) OSR上有相关!irpfind问题,网址是:http://www.osronline.com/
附两台机上!verifier的样子:
lkd> !verifier
Verify Level 0 ... enabled options are:
Summary of All Verifier Statistics
RaiseIrqls 0x0
AcquireSpinLocks 0x0
Synch Executions 0x0
Trims 0x0
Pool Allocations Attempted 0x0
Pool Allocations Succeeded 0x0
Pool Allocations Succeeded SpecialPool 0x0
Pool Allocations With NO TAG 0x0
Pool Allocations Failed 0x0
Resource Allocations Failed Deliberately 0x0
Current paged pool allocations 0x0 for 00000000 bytes
Peak paged pool allocations 0x0 for 00000000 bytes
Current nonpaged pool allocations 0x0 for 00000000 bytes
Peak nonpaged pool allocations 0x0 for 00000000 bytes
感谢上面回复的朋友