.frame (設定本機內容)

.frame命令會指定 (範圍) 用來解譯區域變數或顯示目前本機內容的區域內容。

.frame [/c] [/r] [FrameNumber] 
.frame [/c] [/r] = BasePtr [FrameIncrement] 
.frame [/c] [/r] = BasePtr StackPtr InstructionPtr 

參數

/C
將指定的框架設定為目前的本機覆寫內容。 此動作可讓使用者存取呼叫堆疊中任何函式的非volatiatile 暫存器。

/R
顯示有關指定本機內容的暫存器和其他資訊。

FrameNumber
指定您想要其本機內容的框架數目。 如果此參數為零,命令會指定目前的框架。 如果您省略此參數,此命令會顯示目前的本機內容。

BasePtr
指定用來判斷框架的堆疊追蹤基底指標,如果您在命令名稱 (.frame) 之後新增等號 (=) 。 在 x86 型處理器上,您會在 BasePtr (後面新增另一個引數,該引數會解譯為 BasePtr) 或兩個以上的引數,並在 BasePtr (解譯為 InstructionPtrStackPtr) 。

FrameIncrement
僅以 x86 為基礎的處理器 ()

指定超過基底指標的額外畫面格數量。 例如,如果基底指標0x0012FF00是框架 3 的位址,則命令 .frame 12ff00 相當於 .frame 3,而 .frame 12ff00 2 相當於 .frame 5

StackPtr
(x86 型處理器僅) 指定用來判斷框架之堆疊追蹤的堆疊指標。 如果您省略 StackPtrInstructionPtr,偵錯工具會使用 esp 暫存器指定的堆疊指標,以及 eip 暫存器指定的指令指標。

InstructionPtr
(x86 型處理器僅) 指定用來判斷框架之堆疊追蹤的指令指標。 如果您省略 StackPtrInstructionPtr,偵錯工具會使用 esp 暫存器指定的堆疊指標,以及 eip 暫存器指定的指令指標。

環境

項目 描述
模式 使用者模式、核心模式
目標 即時、損毀傾印
平台 全部

其他資訊

如需本機內容和其他內容設定的詳細資訊,請參閱 變更內容。 如需如何顯示區域變數和其他記憶體相關命令的詳細資訊,請參閱 讀取和寫入記憶體

備註

當應用程式執行時,區域變數的意義取決於程式計數器的位置,因為這類變數的範圍只會延伸到它們所定義的函式。 如果您不使用 .frame 命令,偵錯工具會使用目前函式的範圍, (堆疊上目前框架) 做為 本機內容

若要變更本機內容,請使用 .frame 命令並指定您想要的框架編號。

框架編號是堆疊框架在堆疊追蹤中的位置。 您可以使用 k (Display Stack Backtrace) 命令或 [呼叫] 視窗來檢視此堆疊追蹤。 目前框架) (的第一行是畫面編號 0。 後續幾行代表框架數位 1、2、3 等等。

如果您使用 n 參數搭配 k 命令, k 命令會將框架編號與堆疊追蹤一起顯示。 這些框架編號一律以十六進位格式顯示。 另一方面,除非您以 0x 之類的前置詞覆寫此設定,否則 .frame 命令會在預設基數中解譯其引數。 若要變更預設的基數,請使用 n (Set Number Base) 命令。

您可以將本機內容設定為不同的堆疊框架,讓您檢視新的區域變數資訊。 不過,可用的實際變數取決於正在執行的程式碼。

如果發生任何應用程式執行,本機內容就會重設為程式計數器的範圍。 如果暫存器內容變更,本機內容會重設為頂端堆疊框架。