windbg在for_each_frame之后丢失参数对象

时间:2013-05-03 16:03:51

标签: windbg

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

0 个答案:

没有答案