gh (例外処理ありで実行)
gh コマンドは、指定されたスレッドの例外を処理済みとしてマークし、例外の原因となった命令でスレッドが実行を再開できるようにします。
ユーザー モードの構文
[~Thread] gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
カーネルモード構文
gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
パラメーター
Thread
(ユーザー モードのみ) 実行するスレッドを指定します。 このスレッドは、例外によって停止されている必要があります。 構文の詳細については、「スレッド構文」を参照してください。
a
ソフトウェア ブレークポイント ( bp や bmで作成されたものなど) ではなく、このコマンドによって作成されたすべてのブレークポイントをプロセッサ ブレークポイント ( baによって作成されたものなど) にします。 BreakAddress が指定されていない場合、ブレークポイントは作成されず、 a フラグは無効です。
StartAddress
実行を開始するアドレスを指定します。 これが指定されていない場合、デバッガーは例外が発生したアドレスに実行を渡します。 構文の詳細については、「 アドレスとアドレス範囲の構文」を参照してください。
BreakAddress
ブレークポイントのアドレスを指定します。 BreakAddress を指定する場合は、命令アドレスを指定する必要があります (つまり、アドレスには命令の最初のバイトが含まれている必要があります)。 任意の順序で最大 10 個のブレーク アドレスを一度に指定できます。 BreakAddress を解決できない場合は、 未解決のブレークポイントとして格納されます。 構文の詳細については、「 アドレスとアドレス範囲の構文」を参照してください。
BreakCommands
BreakAddress で指定されたブレークポイントにヒットしたときに自動的に実行される 1 つ以上のコマンドを指定します。 BreakCommands パラメーターの前にセミコロンを付ける必要があります。 複数の BreakAddress 値が指定されている場合、 BreakCommands はすべての値に適用されます。
注 BreakCommands パラメーターは、別のコマンドで使用されるコマンド文字列内にこのコマンドを埋め込む場合にのみ使用できます -- たとえば、別のブレークポイント コマンド内、または例外設定やイベント設定内などです。 コマンド ラインでは、セミコロンによってコマンドが終了され、セミコロンの後に一覧表示されている追加のコマンドは、 gh または gh コマンドが実行された直後に実行されます。
Environment
項目 | 説明 |
---|---|
モード | ユーザー モード、カーネル モード |
対象 | ライブ デバッグのみ |
プラットフォーム | すべて |
追加情報
このコマンドを発行するその他の方法および関連コマンドの概要については、「ターゲットの制御」を参照してください。
解説
BreakAddress パラメーターを使用してブレークポイントを設定すると、この新しいブレークポイントは現在のスレッドによってのみトリガーされます。 その場所でコードを実行する他のスレッドは停止されません。
スレッド が指定されている場合、 gh コマンドは、指定されたスレッドのフリーズを解除し、他のすべてのスレッドをフリーズした状態で実行されます。 たとえば、 ~123gh、 ~#gh、または ~*gh コマンドが指定されている場合、指定したスレッドのフリーズは解除され、それ以外はすべてフリーズした状態となります。