0

有没有办法遍历windbg中的所有帧?(或为每个堆栈帧运行 dv)
例如:~*e !mk -cc将遍历所有线程并调用!mk -cc

我想要的基本上是:

对于每个线程:切换到线程:

~0s

对于该线程中的每一帧:

.frame 00
dv

只是想知道是否有办法自动执行此操作?
目前我能够生成一个脚本来做:

~0s
.frame 00
dv
.frame 01
dv
.frame 02
...

但这是一个多步骤的过程,我想将这一切自动化。

4

1 回答 1

4

您可以使用 ~e 命令来执行每个线程的命令。然后您可以使用 !for_each_frame 为每个调用帧执行命令。例如:

~*e .echo Thread Frames and Locals:; !for_each_frame dv

包含 .echo 命令只是为了标记一个线程结束和下一个线程开始的位置。

于 2013-05-02T16:31:46.340 回答