tb (追蹤至下一個分支)

tb命令會執行程式,直到到達分支指令為止。

tb [r] [= StartAddress] [Count] 

參數

R
開啟和關閉暫存器和旗標的顯示。 根據預設,會顯示暫存器和旗標。 您可以使用 tbrprtr或 .prompt_allow -reg 命令來停用註冊顯示。 所有這些命令都會控制相同的設定,而且您可以使用其中任何命令來覆寫上述任何命令的使用方式。

您也可以使用 l-os 命令停用註冊顯示。 此設定與其他四個命令不同。 若要控制顯示哪些暫存器和旗標,請使用 rm (Register Mask) 命令。

StartAddress
指定偵錯工具開始執行的位址。 如果您未使用 StartAddress,則執行會從指令指標指向的指令開始。 如需語法的詳細資訊,請參閱 位址和位址範圍語法

計數
指定要允許的分支數目。 每次遇到分支時,就會顯示指令位址和指令。 如果您省略 Count,則預設數位為 1。

環境

模式

x86 型:以 x64 為基礎的 核心模式:使用者模式、核心模式

目標

僅限即時偵錯

平台

x86 型 (正版Intel 處理器系列 6 和更新版本,) x64 型

其他資訊

如需相關命令的詳細資訊,請參閱 控制目標

備註

tb命令會導致目標開始執行。 此執行會繼續執行,直到達到分支命令為止。

執行會停止于要採取的任何分支命令。 即使偵錯工具處於來源模式,這個停止執行一律是以 反組 解碼為基礎。

分支指示包括呼叫、傳回、跳躍、計算迴圈和 while 迴圈。 如果偵錯工具遇到無條件分支,或條件式分支為 true,則執行會停止。 如果偵錯工具遇到條件為 false 的條件分支,則會繼續執行。

執行停止時,會顯示分支指令的位址和任何相關聯的符號。 此資訊後面接著箭號,然後是新程式計數器位置的位址和指示。

tb命令僅適用于目前的處理器。 如果您在多處理器系統上使用 tb ,當到達分支命令或發生另一個處理器的事件發生時,就會停止執行,無論何時先發生。

一般而言,在處理器控制區塊 (中國B) 初始化之後,就會啟用分支追蹤。 (中國B 在開機程式中早期初始化。) 不過,如果您必須在此時間點之前使用 tb 命令,您可以使用 .force_tb (強制允許分支追蹤) 啟用分支追蹤。 請謹慎使用 .force_tb 命令,因為它可能會損毀您的處理器狀態。