tb (追蹤至下一個分支)
tb 命令會執行程式,直到到達分支指令為止。
tb [r] [= StartAddress] [Count]
參數
r
開啟和關閉緩存器和旗標的顯示。 根據預設,會顯示緩存器和旗標。 您可以使用 tbr、pr、tr 或 .prompt_allow -reg 命令來停用註冊顯示。 所有這些命令都會控制相同的設定,您可以使用其中任何命令來覆寫先前使用這些命令的任何用法。
您也可以使用 l-os 命令停用註冊顯示。 此設定與其他四個命令不同。 若要控制要顯示哪些緩存器和旗標,請使用 rm (Register Mask) 命令。
StartAddress
指定除錯程式開始執行的位址。 如果您未使用 StartAddress,執行會從指令指標指向的指令開始。 如需語法的詳細資訊,請參閱 地址和地址範圍語法。
計數
指定要允許的分支數目。 每次遇到分支時,就會顯示指令位址和指令。 如果您省略 Count,則預設數位為 1。
Environment
模式 |
x86 型: 僅 以 x64 為基礎的核心模式: 使用者模式、核心模式 |
目標 |
僅限即時偵錯 |
平台 |
x86 型 (GenuineIntel 處理器系列 6 和更新版本),以 x64 為基礎 |
其他資訊
如需相關命令的詳細資訊,請參閱 控制目標。
備註
tb 命令會導致目標開始執行。 此執行會繼續執行,直到到達分支命令為止。
執行會在要採取的任何分支命令停止。 即使調試程式處於來源模式,這種停止執行一律是以反組譯碼程式代碼為基礎。
分支指示包括呼叫、傳回、跳躍、計數迴圈和 while 迴圈。 如果調試程式遇到無條件分支,或條件式分支為 true,則執行會停止。 如果調試程式遇到條件式分支,其條件為 false,則繼續執行。
執行停止時,會顯示分支指令的位址和任何相關聯的符號。 此資訊後面接著箭號,然後是新程式計數器位置的位址和指示。
tb 命令僅適用於目前的處理器。 如果您在多處理器系統上使用 tb ,當到達分支命令或發生另一個處理器的事件時,執行就會停止,無論何時先發生。
在處理器控制區塊 (PRCB) 初始化之後,通常會啟用分支追蹤。 (在開機過程中,中國B在開機過程中早期初始化。不過,如果您必須在此點之前使用 tb 命令,您可以使用 .force_tb (強制允許分支追蹤) 來啟用先前的分支追蹤。 請謹慎使用 .force_tb 命令,因為它可能會損毀您的處理器狀態。