Oracle® Developer Studio 12.5: dbx コマンドによるデバッグ

印刷ビューの終了

更新: 2016 年 6 月
 
 

stop コマンド

stop コマンドは、ソースレベルのブレークポイントを設定します。

構文

stop コマンドは、ソースレベルのブレークポイントを設定します。

stop event-specification [modifier]

指定イベントが発生すると、プロセスが停止されます。

ネイティブモードの構文

このセクションでは、ネイティブモードで有効な重要な構文をいくつか説明します。追加のイベントについては、イベント指定の設定を参照してください。

stop [ -update ]

実行をただちに停止します。when コマンドの本体内でのみ有効です。

stop -noupdate

実行をただちに停止しますが、Oracle Developer Studio IDE のデバッガウィンドウは更新しません。

stop access mode address-expression [,byte-size-expression ]

address-expression で指定したメモリーがアクセスされた場合に、実行を停止します。特定アドレスへのアクセス時にプログラムを停止するも参照してください。

stop at line-number

line-number で実行を停止します。ソースコードの行へのブレークポイントの設定を参照してください。

stop change variable

variable の値が変更された場合に、実行を停止します。

stop cond condition-expression

condition-expression で指定した条件が true に評価された場合に実行を停止します。

stop in function

function が呼び出されたときに、実行を停止します。関数へのブレークポイントの設定を参照してください。

stop inclass class-name [ -recurse | -norecurse ]

C++ のみ: class、struct、union、または template クラスのすべてのメンバー関数にブレークポイントを設定します。-norecurse はデフォルトです。-recurse が指定された場合、基底クラスが含まれます。クラスのすべてのメンバー関数にブレークポイントを設定するも参照してください。

stop infile file-name

filename 内のいずれかの関数が呼び出されたときに、実行を停止します。

stop infunction name

C++ のみ: すべての非メンバー関数 name にブレークポイントを設定します。

stop inmember name

C++ のみ: すべてのメンバー関数 name にブレークポイントを設定します。異なるクラスのメンバー関数にブレークポイントを設定するを参照してください。

stop inobject object-expression [ -recurse | -norecurse ]

C++ のみ: オブジェクト object-expression から呼び出された場合に、クラスおよびそのすべての基底クラスの非静的メソッドへのエントリにブレークポイントを設定します。-recurse はデフォルトです。-norecurse を指定した場合、基底クラスは含まれません。オブジェクトにブレークポイントを設定するを参照してください。

line-number は、ソースコード行の番号です。

function は、関数の名前です。

class-name は、C++ の class、struct、union、または template クラスの名前です。

mode はメモリーのアクセス方法を指定します。次の文字 (複数可) で構成されます。

r

指定したアドレスのメモリーが読み取られたことを示します。

w

メモリーへの書き込みが実行されたことを示します。

x

メモリーが実行されたことを示します。

mode には、次を含めることもできます。

a

アクセス後にプロセスを停止します (デフォルト)。

b

アクセス前にプロセスを停止します。

name は、C++ 関数名です。

object-expression は、C++ オブジェクトを示します。

variable は、変数の名前です。

ネイティブモードでは、次の修飾子が有効です。

–if condition-expression

condition-expression が true に評価された場合にだけ、指定したイベントが発生します。

–in function

指定したイベントが function の範囲内で発生した場合にだけ、実行が停止します。

–count number

カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。

–count infinity

カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。

–temp

イベントの発生時に削除される一時的なブレークポイントを作成します。

–disable

無効状態のブレークポイントを作成します。

–instr

命令レベルのバリエーションを実行します。たとえば、step は命令レベルのステップ実行になり、at では行番号ではなくテキストアドレスを引数として指定します。

–perm

このイベントをデバッグ中は常に有効にします。一部のイベント (ブレークポイントなど) は、永続的にするのには適していません。delete all は、永続的なハンドラを削除しません。永続的なハンドラを削除するには、delete hid を使用します。

–hidden

status コマンドからイベントを隠ぺいします。一部のインポートモジュールでこれが使用されることがあります。そのようなモジュールを表示するには、status -h を使用します。

–lwp lwp-ID

指定した LWP で、指定したイベントが発生した場合にだけ、実行が停止します。

–thread thread-ID

指定したスレッドで、指定したイベントが発生した場合にだけ、実行が停止します。

Java モードの構文

Java モードでは、次の構文が有効です。

stop access mode class-name.field-name

class-name.field-name で指定したメモリーがアクセスされた場合に、実行を停止します。

stop at line-number

line-number で実行を停止します。

stop at filename:line-number

filenameline-number で実行を停止します。

stop change class-name.field-name

class-namefield-name の値が変更された場合に実行を停止します。

stop classload

いずれかのクラスが読み込まれた場合に実行を停止します。

stop classload class-name

class-name がロードされた場合に実行を停止します。

stop classunload

いずれかのクラスが読み込み解除された場合に実行を停止します。

stop classunload class-name

class-name がアンロードされたときに実行を停止します。

stop cond condition-expression

condition-expression で指定した条件が true に評価される場合に実行を停止します。

stop in class-name.method-name

class-name.method-name に入り、最初の行が実行されるときに、実行を停止します。パラメータが指定されておらず、メソッドがオーバーロードされている場合は、メソッドのリストが表示されます。

stop in class-name.method-name([parameters])

class-name.method-name に入り、最初の行が実行されるときに、実行を停止します。

stop inmethod class-name.method-name

すべての非メンバーメソッド class-name.method-name にブレークポイントを設定します。

stop inmethod class-name.method-name ([parameters])

すべての非メンバーメソッド class-name.method-name にブレークポイントを設定します。

stop throw

Java の例外が投げられた場合に実行を停止します。

stop throw type

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 はメモリーのアクセス方法を指定します。次の文字 (複数可) で構成されます。

r

指定したアドレスのメモリーが読み取られたことを示します。

w

メモリーへの書き込みが実行されたことを示します。

mode には、次を含めることもできます。

b

アクセス前にプロセスを停止します。

プログラムカウンタは、問題のある個所を示します。

parameters は、メソッドのパラメータです。

type は、Java 例外のタイプです。type の有効な値は、-unhandled または -unexpected です。

Java モードでは、次の修飾子が有効です。

–if condition-expression

condition-expression が true に評価された場合にだけ、指定したイベントが発生します。

–count number

カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。

–count infinity

カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。

–temp

イベントの発生時に削除される一時的なブレークポイントを作成します。

–disable

無効状態のブレークポイントを作成します。

マシンレベルのブレークポイントの設定については、stopi コマンドを参照してください。

全イベントのリストと構文については、イベント指定の設定を参照してください。