0

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

4

0 回答 0