次の方法で共有


tb (次のブランチまでトレース)

tb コマンドは、分岐命令に到達するまで、プログラムを実行します。

tb [r] [= StartAddress] [Count] 

パラメーター

r
レジスタとフラグの表示をオンまたはオフにします。 既定では、レジスタとフラグが表示されます。 tbrprtr、または .prompt_-reg コマンドを使用してレジスタの表示を無効にすることができます。 これらのコマンドのすべては、同じ設定を制御し、これらのコマンドの以前の使用をオーバーライドするそれらのいずれかを使用できます。

l-os コマンドを使用して、レジスタの表示を無効にすることもできます。 この設定は、他の 4 つのコマンドとは別のものです。 どのレジスタとフラグを表示するかを制御するには、rm (レジスタ マスク) コマンドを使用します。

StartAddress
デバッガーが実行を開始するアドレスを指定します。 StartAddress を使用しない場合、命令ポインタが指す命令から実行が開始されます。 構文の詳細については、「 アドレスとアドレス範囲の構文」を参照してください。

Count
許可する分岐の数を指定します。 分岐が検出されるたびに、命令アドレスと命令が表示されます。 Count を省略した場合、既定の数値は 1 です。

Environment

モード

x86 ベース: カーネル モードのみ x64 ベース: ユーザー モード、カーネル モード

Targets

ライブデバッグのみ

プラットフォーム

x86 ベース (GenuineIntel プロセッサ ファミリ 6 以降)、x64 ベース

追加情報

関連するコマンドの詳細については、「ターゲットを制御」を参照してください。

解説

tb コマンドにより、ターゲットの実行を開始します。 この実行は、分岐コマンドに到達するまで続行されます。

実行される分岐コマンドで実行が停止します。 デバッガーがソース モードの場合でも、この実行の停止は常に逆アセンブリ コードに基づいています。

分岐命令には、呼び出し、戻り値、ジャンプ、カウントされたループ、while ループが含まれます。 デバッガーで、条件が True の無条件分岐または条件分岐が検出された場合、実行は停止します。 デバッガーで、条件が False の条件分岐が検出された場合、実行は続行されます。

実行が停止すると、分岐命令のアドレスと、関連付けられているシンボルが表示されます。 この情報の後に矢印が続き、新しいプログラム カウンターの場所のアドレスと命令が表示されます。

tb コマンドは、現在のプロセッサでのみ機能します。 マルチプロセッサ システムで tb を使用すると、分岐コマンドに達したとき、または別のプロセッサのイベントが発生したときに、どちらか早い方の時点で実行が停止します。

通常、分岐トレースは、プロセッサー制御ブロック (PRCB) が初期化された後に使用可能になります。 (PRCB はブート プロセスの早い段階で初期化されます)。ただし、この時点より前に tb コマンドを使用する必要がある場合は、.force_tb (強制的に分岐トレースを許可) を使用することで、先に分岐トレースを有効にすることができます。 .force_tb コマンドはプロセッサの状態を破損する可能性があるため、注意して使用してください。