首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.net调试命令.foreach,如何使用/ps和/pS?

.net调试命令.foreach,如何使用/ps和/pS?
EN

Stack Overflow用户
提问于 2013-06-28 06:27:12
回答 1查看 962关注 0票数 1

我读过苔丝关于转储asp.net请求的博客,我读过代码,我想知道为什么.foreach命令需要在博客中的代码中切换这么多"/ps 99“。

例如,代码:

代码语言:javascript
复制
$$ 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上更改。

代码语言:javascript
复制
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,所以前两个‘计算表达式:’将跳过。
  • /ps 99 ->但为什么这里需要99?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-06 15:13:16

/ps 99的意思是“跳过下一个99个令牌,然后取下一个,然后跳过下一个99个,等等。”这里的99恰好是武断的。她只想得到一个令牌,但是没有办法使用.foreach命令。她选择了一个任意高的数字,有效地告诉它“跳过其余的代币”。

/ps/pS之间的区别可以在WinDbg帮助文件中找到:

/pS InitialSkipNumber 导致一些初始标记被跳过。InitialSkipNumber指定不会传递给指定OutCommands的输出令牌的数量。 /ps SkipNumber 导致每次处理命令时重复跳过令牌。每次将令牌传递给指定的OutCommands后,将忽略与SkipNumber值相等的多个令牌。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17358518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档