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

印刷ビューの終了

更新: 2016 年 6 月
 
 

when コマンド

when コマンドは、指定したイベントが発生したときに、コマンドを実行します。

dbx が Java モードで、when ブレークポイントをネイティブコードで設定する場合は、joff コマンドを使用してネイティブモードに切り替えるか、when コマンドの前に native を追加します。

dbx が JNI モードで、when ブレークポイントを Java コードで設定する場合は、when コマンドの前に java を追加します。

構文

when コマンドの一般構文は、次のとおりです。

when event-specification [modifier]{command; ... }

    指定イベントが発生すると、コマンドが実行されます。when コマンドで禁止されているコマンドには次のものがあります。

  • attach

  • debug

  • next

  • replay

  • rerun

  • restore

  • run

  • save

  • step

オプションなしの cont コマンドは無視されます。

ネイティブモードの構文

ネイティブモードでは、次の構文が有効です。

when at line-number { command; }

line-number に到達したら、command を実行します。

when in procedure { command; }

procedure が呼び出されたら、command を実行します。

ここでは:

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

command は、コマンドの名前です。

procedure は、手続きの名前です。

Java モードの構文

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

when at line-number

ソース line-number に到達したら、コマンドを実行します。

when at filename.line-number

filename.line-number に到達したら、コマンドを実行します。

when in class-name.method-name

class-name.method-name が呼び出されたら、コマンドを実行します。

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

class-name.method-name([parameters]) が呼び出されたら、コマンドを実行します。

class-name は、Java クラスの名前です。次のいずれかを使用できます。

  • ピリオド (.) を修飾子として使用したパッケージのパス (test1.extra.T1.Inner など)

  • シャープ記号 (#) が前に付き、スラッシュ (/) とドル記号 ($) を修飾子として使用したフルパス名。たとえば #test1/extra/T1$Inner などです。$ 修飾子を使用する場合は、class-name を引用符で囲みます。

filename は、ファイルの名前です。

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

method-name は、Java メソッドの名前です。

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

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

指定した下位レベルイベントでコマンドを実行することについては、wheni コマンドを参照してください。