2013-05-02 76 views
0

有沒有辦法在windbg中迭代所有框架? (或運行用於每個堆棧幀的dv)
例如:~*e !mk -cc將通過所有線程迭代,並調用!mk -cc有沒有辦法通過windbg中的所有框架進行迭代?

我想基本上是:

對於每個線程:切換到線程:

~0s 

對於在該線程中的每個幀:

.frame 00 
dv 

只是想知道是否有一種方法來實現自動化?
目前我能夠生成一個腳本來執行:

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

但是,這是一個多步驟的過程,我想自動化一切。

回答

4

您可以使用〜e命令來執行每個線程的命令。然後你可以使用!for_each_frame爲每個調用幀執行一個命令。例如:

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

包含.echo命令僅用於標記一個線程結束和下一個開始的位置。

相關問題