gn、gN (例外処理なしで実行)

gn コマンドと gN コマンドは、例外を処理済みとマークせずに、指定されたスレッドの実行を続行します。 これにより、アプリケーションの例外ハンドラーで例外を処理できます。

ユーザー モードの構文

[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

カーネル モードの構文

gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

パラメーター

スレッド
(ユーザー モードのみ) 実行するスレッドを指定します。 このスレッドは、例外によって停止されている必要があります。 構文の詳細については、「スレッド構文」を参照してください。

a
ソフトウェア ブレークポイント ( bpbmで作成されたものなど) ではなく、このコマンドによって作成されたすべてのブレークポイントをプロセッサ ブレークポイント ( baによって作成されたものなど) にします。 BreakAddress が指定されていない場合、ブレークポイントは作成されず、 a フラグは無効です。

StartAddress
実行を開始するアドレスを指定します。 これが指定されていない場合、デバッガーは例外が発生したアドレスに実行を渡します。 構文の詳細については、「 アドレスとアドレス範囲の構文」を参照してください。

BreakAddress
ブレークポイントのアドレスを指定します。 BreakAddress を指定する場合は、命令アドレスを指定する必要があります (つまり、アドレスには命令の最初のバイトが含まれている必要があります)。 任意の順序で最大 10 個のブレーク アドレスを一度に指定できます。 BreakAddress を解決できない場合は、 未解決のブレークポイントとして格納されます。 構文の詳細については、「 アドレスとアドレス範囲の構文」を参照してください。

BreakCommands
BreakAddress で指定されたブレークポイントにヒットしたときに自動的に実行される 1 つ以上のコマンドを指定します。 BreakCommands パラメーターの前にセミコロンを付ける必要があります。 複数の BreakAddress 値が指定されている場合、 BreakCommands はすべての値に適用されます。

BreakCommands パラメーターは、別のコマンドで使用されるコマンド文字列内にこのコマンドを埋め込む場合にのみ使用できます -- たとえば、別のブレークポイント コマンド内、または例外設定やイベント設定内などです。 コマンド ラインでは、セミコロンによってコマンドが終了され、セミコロンの後に一覧表示されている追加のコマンドは、gn または gN コマンドが実行された直後に実行されます。

環境

アイテム 説明
モード ユーザー モード、カーネル モード
目標値 ライブ デバッグのみ
プラットフォーム すべて

追加情報

このコマンドを発行するその他の方法および関連コマンドの概要については、「ターゲットの制御」を参照してください。

解説

ブレークポイントでデバッガーが停止しない場合、 gngN は同じように動作します。 デバッガーがブレークポイントで停止した場合、 gn は機能しません。このコマンドを実行するには、"N" を大文字にする必要があります。 これは安全上の予防措置です。ブレークポイントを未処理で続行することが賢明となることはめったにないからです。

BreakAddress パラメーターを使用してブレークポイントを設定すると、この新しいブレークポイントは現在のスレッドによってのみトリガーされます。 その場所でコードを実行する他のスレッドは停止されません。

Thread が指定されている場合、gn コマンドは指定されたスレッドが非固定で実行され、それ以外はすべて固定されます。 たとえば、~123gn~#gn、または ~*gn コマンドが指定されている場合、指定したスレッドは固定されず、それ以外はすべて固定されます。