以下脚本丢失了arg1和arg2的值。 将此脚本保存为“c:\ testing.txt”
.echo first argument is: ${$arg1}
.echo second argument is: ${$arg2}
~*e .echo thread ; !for_each_frame .echo frame
.echo first argument is: ${$arg1}
.echo second argument is: ${$arg2}
使用以下命令运行此脚本: $$ a<“c:\ testing.txt”alpha bravo
前两个打印语句(循环之前)工作最后两个(循环之后)不:
在循环之前:
0:027> $$a<"c:\testing.txt" alpha bravo
0:027> .echo first argument is: ${$arg1}
first argument is: alpha
0:027> .echo second argument is: ${$arg2}
second argument is: bravo
循环后:
0:027> .echo first argument is: ${$arg1}
first argument is: ${$arg1}
0:027> .echo second argument is: ${$arg2}
second argument is: ${$arg2}
有关为什么!for_each_frame这样做的任何想法?如果我取出那部分而只是循环执行线程,我就不会丢失arg1和arg2的值。
我尝试将arg1和arg2存储在别名中 - 但这没有帮助。有没有办法可以在!for_each_frame之前存储这些参数值,所以我不会丢失它们?
我正在使用Microsoft(R)Windows调试版6.2.9200.20512 AMD64
我从http://msdn.microsoft.com/en-US/windows/hardware/hh852363
得到了这个此脚本适用于:Microsoft(R)Windows调试器版本6.12.0002.633 AMD64