我有一个.dmp用于池泄漏案例,我已经识别出导致问题的标签,但是为该标签加载了很多模块。我试图在WinDBG中使用eb编写脚本来编辑模块名称,以便我可以识别哪个是哪个。我已经在这个语句上尝试了很多不同的内容,我无法让它完全按照我想要的方式迭代所有与池标记相关的模块,并通过用标记替换标记的最后一个字母来重命名它们。号。
.block {r @$t0=0x31; !for_each_module .foreach( obj {s -[1]a @#Base @#End "FMfn"}){r @$t0 = @$t0+1; eb ${obj}+3 @$t0}}
这是我收到的最新错误
@$t0+1'
^ Syntax error in '.foreach( obj {s -[1]a fffff96000925000 fffff9600095f000 "FMfn"}){r @$t0 = @$t0+1'
Couldn't resolve error at '${obj}+3 $t0}'
任何人都可以帮我确定我出错的地方吗?
答案 0 :(得分:2)
根据文档,!for_each_module
需要在命令字符串周围加上引号:
!for_each_module ["CommandString"]
根据我的测试,他们似乎不是可选的,所以添加引号并转义现有的引号,如下所示:
.block {r @$t0=0x31; !for_each_module ".foreach( obj {s -[1]a @#Base @#End \"FMfn\"}){r @$t0 = @$t0+1; eb ${obj}+3 @$t0}"}