stop コマンドは、ソースレベルのブレークポイントを設定します。
stop コマンドは、ソースレベルのブレークポイントを設定します。
stop event-specification [modifier]
指定イベントが発生すると、プロセスが停止されます。
このセクションでは、ネイティブモードで有効な重要な構文をいくつか説明します。追加のイベントについては、イベント指定の設定を参照してください。
実行をただちに停止します。when コマンドの本体内でのみ有効です。
実行をただちに停止しますが、Oracle Developer Studio IDE のデバッガウィンドウは更新しません。
address-expression で指定したメモリーがアクセスされた場合に、実行を停止します。特定アドレスへのアクセス時にプログラムを停止するも参照してください。
line-number で実行を停止します。ソースコードの行へのブレークポイントの設定を参照してください。
function が呼び出されたときに、実行を停止します。関数へのブレークポイントの設定を参照してください。
C++ のみ: class、struct、union、または template クラスのすべてのメンバー関数にブレークポイントを設定します。-norecurse はデフォルトです。-recurse が指定された場合、基底クラスが含まれます。クラスのすべてのメンバー関数にブレークポイントを設定するも参照してください。
C++ のみ: すべてのメンバー関数 name にブレークポイントを設定します。異なるクラスのメンバー関数にブレークポイントを設定するを参照してください。
C++ のみ: オブジェクト object-expression から呼び出された場合に、クラスおよびそのすべての基底クラスの非静的メソッドへのエントリにブレークポイントを設定します。-recurse はデフォルトです。-norecurse を指定した場合、基底クラスは含まれません。オブジェクトにブレークポイントを設定するを参照してください。
line-number は、ソースコード行の番号です。
function は、関数の名前です。
class-name は、C++ の class、struct、union、または template クラスの名前です。
mode はメモリーのアクセス方法を指定します。次の文字 (複数可) で構成されます。
指定したアドレスのメモリーが読み取られたことを示します。
メモリーへの書き込みが実行されたことを示します。
メモリーが実行されたことを示します。
mode には、次を含めることもできます。
アクセス後にプロセスを停止します (デフォルト)。
アクセス前にプロセスを停止します。
name は、C++ 関数名です。
object-expression は、C++ オブジェクトを示します。
variable は、変数の名前です。
ネイティブモードでは、次の修飾子が有効です。
condition-expression が true に評価された場合にだけ、指定したイベントが発生します。
指定したイベントが function の範囲内で発生した場合にだけ、実行が停止します。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。
イベントの発生時に削除される一時的なブレークポイントを作成します。
無効状態のブレークポイントを作成します。
命令レベルのバリエーションを実行します。たとえば、step は命令レベルのステップ実行になり、at では行番号ではなくテキストアドレスを引数として指定します。
このイベントをデバッグ中は常に有効にします。一部のイベント (ブレークポイントなど) は、永続的にするのには適していません。delete all は、永続的なハンドラを削除しません。永続的なハンドラを削除するには、delete hid を使用します。
status コマンドからイベントを隠ぺいします。一部のインポートモジュールでこれが使用されることがあります。そのようなモジュールを表示するには、status -h を使用します。
指定した LWP で、指定したイベントが発生した場合にだけ、実行が停止します。
指定したスレッドで、指定したイベントが発生した場合にだけ、実行が停止します。
Java モードでは、次の構文が有効です。
class-name.field-name で指定したメモリーがアクセスされた場合に、実行を停止します。
line-number で実行を停止します。
filename の line-number で実行を停止します。
class-name で field-name の値が変更された場合に実行を停止します。
いずれかのクラスが読み込まれた場合に実行を停止します。
class-name がロードされた場合に実行を停止します。
いずれかのクラスが読み込み解除された場合に実行を停止します。
class-name がアンロードされたときに実行を停止します。
condition-expression で指定した条件が true に評価される場合に実行を停止します。
class-name.method-name に入り、最初の行が実行されるときに、実行を停止します。パラメータが指定されておらず、メソッドがオーバーロードされている場合は、メソッドのリストが表示されます。
class-name.method-name に入り、最初の行が実行されるときに、実行を停止します。
すべての非メンバーメソッド class-name.method-name にブレークポイントを設定します。
すべての非メンバーメソッド class-name.method-name にブレークポイントを設定します。
Java の例外が投げられた場合に実行を停止します。
type で指定した種類の Java の例外が投げられた場合に実行を停止します。
ここでは:
class-name は、Java クラスの名前です。次のいずれかを使用できます。
ピリオド (.) を修飾子として使用したパッケージのパス (test1.extra.T1.Inner など)
シャープ記号 (#) が前に付き、スラッシュ (/) とドル記号 ($) を修飾子として使用したフルパス名。たとえば #test1/extra/T1$Inner などです。$ 修飾子を使用する場合は、class-name を引用符で囲みます。
condition-expression には、任意の式を指定できますが、整数型に評価される必要があります。
field-name は、クラス内のフィールド名です。
filename は、ファイルの名前です。
line-number は、ソースコード行の番号です。
method-name は、Java メソッドの名前です。
mode はメモリーのアクセス方法を指定します。次の文字 (複数可) で構成されます。
指定したアドレスのメモリーが読み取られたことを示します。
メモリーへの書き込みが実行されたことを示します。
mode には、次を含めることもできます。
アクセス前にプロセスを停止します。
プログラムカウンタは、問題のある個所を示します。
parameters は、メソッドのパラメータです。
type は、Java 例外のタイプです。type の有効な値は、-unhandled または -unexpected です。
Java モードでは、次の修飾子が有効です。
condition-expression が true に評価された場合にだけ、指定したイベントが発生します。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。
イベントの発生時に削除される一時的なブレークポイントを作成します。
無効状態のブレークポイントを作成します。
マシンレベルのブレークポイントの設定については、stopi コマンドを参照してください。
全イベントのリストと構文については、イベント指定の設定を参照してください。