ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ Oracle Solaris Studio 12.3 Information Library (日本語) |
when コマンドは、指定したイベントが発生したときに、コマンドを実行します。
dbx が Java モードで、when のブレークポイントをネイティブコードで設定する場合は、joff コマンドを使用してネイティブモードに切り替えるか (「joff コマンド」を参照)、when コマンドの前に native を追加します (「native コマンド」参照)。
dbx が JNI モードで、when のブレークポイントを Java コードで設定する場合は、when コマンドの前に java を追加します (「java コマンド」を参照)。
when コマンドの一般構文は、次のとおりです。
when event_specification [modifier]{command; ... }
指定イベントが発生すると、コマンドが実行されます。when コマンドで禁止されているコマンドには次のものがあります。
attach
debug
next
replay
rerun
restore
run
save
step
オプションなしの cont コマンドは無視されます。
ネイティブモードでは、次の構文が有効です。
line_number に到達したら、command を実行します。
procedure が呼び出されたら、command を実行します。
ここで
line_number は、ソースコード行の番号です。
command は、コマンドの名前です。
procedure は、手続きの名前です。
Java モードでは、次の構文が有効です。
ソースの line_number に到達したときにコマンドを実行します。
file_name. line_number に到達したときにコマンドを実行します。
class_name. method_name が呼び出されたときにコマンドを実行します。
class_name. method_name([parameters]) が呼び出されたときにコマンドを実行します。
class_name は、Java クラス名で、パッケージのパス (. (ピリオド) を修飾子として使用。たとえば test1.extra.T1.Inner) またはフルパス名 (# 記号で始まり、/ (スラッシュ) や $ 記号を修飾子として使用。たとえば #test1/extra/T1$Inner) のいずれかで指定します。修飾子 $ を使用する場合は、class_name を引用符で囲みます。
file_name は、ファイルの名前です。
line_number は、ソースコード行の番号です。
method_name は、Java メソッドの名前です。
parameters は、メソッドのパラメータです。
全イベントのリストと構文については、「イベント指定の設定」を参照してください。
下位レベルのイベントの発生時にコマンドを実行する方法については、「wheni コマンド」を参照してください。