stop コマンドは、ソースレベルのブレークポイントを設定します。
stop event_specification [modifier]
指定イベントが発生すると、プロセスが停止されます。
ネイティブモードで有効な構文の中で重要なものを、いくつか次に示します。これ以外のイベントについては、「イベント指定の設定」を参照してください。
実行をただちに停止します。when コマンドの本体内でのみ有効です。
実行をただちに停止しますが、Sun Studio IDE のデバッガウィンドウは更新しません。
address_expression で指定したメモリーがアクセスされた場合に、実行を停止します。「特定アドレスへのアクセス時にプログラムを停止する」も参照してください。
line_number で実行を停止します。「ソースコードの特定の行に stop ブレークポイントを設定する」も参照してください。
variable の値が変更された場合に実行を停止します。
condition_expression で指定した条件が真になる場合に実行を停止します。
function が呼び出されたときに実行を停止します。「関数に stop ブレークポイントを設定する」も参照してください。
C++ のみ: class/struct/union/template のいずれかのクラスのメンバー関数すべてにブレークポイントを設定します。-norecurse はデフォルトです。-recurse が指定された場合、基底クラスが含まれます。「クラスのすべてのメンバー関数にブレークポイントを設定する」も参照してください。
file_name 内のいずれかの関数が呼び出された場合、実行を停止します。
C++ のみ: すべての非メンバー関数 name にブレークポイントを設定します。
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 が真の場合にだけ、指定したイベントが 発生します。
指定したイベントが function の範囲内で発生した場合にだけ、実行が停止します。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。
イベントの発生時に削除される一時的なブレークポイントを作成します。
無効状態のブレークポイントを作成します。
命令レベルのバリエーションを実行します。たとえば、step は命令レベルのステップ実行になり、at では行番号ではなくテキストアドレスを引数として指定します。
このイベントをデバッグ中は常に有効にします。一部のイベント (ブレークポイントなど) は、常に有効にするのには適していません。 delete all は、常に有効なハンドラを削除しません。削除するには、delete hid を使用します。
status コマンドからイベントを隠ぺいします。一部のインポートモジュールでこれが使用されることがあります。そのようなモジュールを表示するには、status -h を使用します。
指定した LWP で指定したイベントが発生した場合にだけ、実行が停止します。
指定したスレッドで指定したイベントが発生した場合にだけ、実行が停止します。
Java モードでは、次の構文が有効です。
class_name.field_name によって指定されたメモリーがアクセスされた場合、実行を停止します。
line_number で実行を停止します。
file_name の line_number で実行を停止します。
class_name で field_name の値が変更された場合に実行を停止します。
いずれかのクラスが読み込まれた場合に実行を停止します。
class_name が読み込まれた場合に実行を停止します。
いずれかのクラスが読み込み解除された場合に実行を停止します。
class_name が読み込み解除された場合に実行を停止しま す。
condition_expression で指定した条件が真になる場合に実行を停止します。
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 は、クラス内のフィールド名です。
file_name は、ファイルの名前です。
line_number は、ソースコード行の番号です。
method_name は、Java メソッドの名前です。
mode はメモリーのアクセス方法を指定します。次の文字 (複数可) で構成されます。
指定したアドレスのメモリーが読み取られたことを示します。
メモリーへの書き込みが実行されたことを示します。
mode には、次を含めることもできます。
アクセス前にプロセスを停止します。
プログラムカウンタは、問題のある個所を示します。
parameters は、メソッドのパラメータです。
type は、Java の例外の種類です。type には、-unhandled または -unexpected を指定できます。
Java モードでは、次の修飾子が有効です。
condition_expression が真の場合にだけ、指定したイベントが 発生します。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。
イベントの発生時に削除される一時的なブレークポイントを作成します。
無効状態のブレークポイントを作成します。
マシンレベルのブレークポイントの設定については、「stopi コマンド」も参照してください。
全イベントのリストと構文については、「イベント指定の設定」を参照してください。