以下脚本会丢失 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