【发布时间】:2013-08-06 23:13:16
【问题描述】:
我阅读了 Tess 关于dump the asp.net request 的博客,我阅读了代码, 我想知道为什么.foreach 命令在博客的代码中需要这么多“/ps 99”的开关。
示例代码:
$$ RETURNCODE = CONTEXT->RESPONSE->_STATUSCODE ((CONTEXT+0X14)+50)
$$ ----------------------------------------------------------------------------------
.foreach /pS 2 /ps 99 (token {?poi(poi(${hc}+0x14)+50)}){
.printf "${token}\t\t"
};
这段代码在 .net 2 上,我在自己的 .net 4 上做了一些测试,
RETURNCODE = CONTEXT->RESPONSE->_STATUSCODE ((CONTEXT+0X28)+b0),.net4 上的偏移量已更改。
0:000> ? poi(0x00000000ffc59a58+0x28)+0xb0
Evaluate expression: 4291217184 = 00000000`ffc6c720
0:000> ? poi(poi(0x000000011fa2b948+0x28)+0xb0)
Evaluate expression: 200 = 00000000`000000c8
.foreach
/pS 2 --> 表示跳过开头的 2,所以前两个 'Evaluate expression:' 会跳过。
/ps 99 --> 但是为什么这里需要 99?
【问题讨论】:
-
在文章评论区提出这个问题。她仍然积极写博客,可能会回复你。
标签: debugging foreach windbg ps