!for_each_frame

!for_each_frame延伸模組會針對目前線程堆疊中的每個畫面執行一次調試程式命令。

!for_each_frame ["CommandString"] 
!for_each_frame -?

參數

CommandString
指定調試程式命令,針對每個畫面執行一次。 如果 CommandString 包含多個命令,您必須以分號分隔它們,並以引弧括 住 CommandString 。 如果您包含多個命令,CommandString 內的個別命令不能包含引號。 如果您想要參考 CommandString目前框架的索引,請使用 @$frame pseudoregister。

-?
在 [調試程式命令] 視窗中顯示此延伸模組的一些說明文字。

DLL

Ext.dll

其他資訊

如需本機內容的詳細資訊,請參閱 變更內容

備註

如果您未指定任何自變數, !for_each_frame 延伸模組會顯示所有框架及其框架索引的清單。 如需所有畫面格的更詳細清單,請使用 k (顯示堆疊回溯) 命令。

k 命令最多會走 256 個畫面。 針對每個列舉框架,該框架會暫時成為目前的本機內容(類似於 .frame (設定本機內容) 命令。 設定內容之後, 會執行 CommandString 。 使用完所有畫面之後,本機內容會重設為在您使用 !for_each_frame 擴充功能之前所擁有的值。

如果您包含 CommandString,調試程式會在針對該畫面執行命令之前顯示框架及其索引。

下列命令會顯示目前堆疊的所有局部變數。

!for_each_frame !for_each_local dt @#Local