gu (完了まで実行)
gu コマンドを実行すると、現在の関数が完了するまでターゲットが実行されます。
ユーザー モードの構文
[~Thread] gu
カーネルモード構文
gu
パラメーター
Thread
(ユーザー モードのみ) 実行するスレッドを指定します。 このスレッドは、例外によって停止されている必要があります。 構文の詳細については、「スレッド構文」を参照してください。
Environment
項目 | 説明 |
---|---|
モード | ユーザー モード、カーネル モード |
対象 | ライブ デバッグのみ |
プラットフォーム | すべて |
追加情報
このコマンドを発行するその他の方法および関連コマンドの概要については、「ターゲットの制御」を参照してください。
解説
gu コマンドは、現在の関数呼び出しが戻るまでターゲットを実行します。
現在の関数が再帰的に呼び出された場合、gu コマンドは、現在の関数の現在のインスタンスが戻るまで実行を停止しません。 このように、 gu は g @$raとは異なり、この関数のリターン アドレスがヒットするたびに停止します。
注: gu コマンドは、呼び出し履歴の深さを測定することによって、関数のさまざまなインスタンスを区別します。 引数がスタックにプッシュされた後、呼び出しが行われる直前にアセンブリ モードでこのコマンドを実行すると、この測定値が正しくない可能性があります。 コンパイラによって最適化された関数の戻り値も同様に、この戻り値の間違ったインスタンスでこのコマンドが停止する可能性があります。 これらのエラーはまれであり、再帰関数呼び出し中にのみ発生する可能性があります。
Thread が指定されている場合、gu コマンドは、指定されたスレッドのフリーズを解除し、他のすべてのスレッドをフリーズした状態で実行されます。 たとえば、~123gu、~#gu、または ~*gu コマンドが指定されている場合、指定したスレッドはフリーズが解除され、他のすべてのスレッドはフリーズされます。