ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ Oracle Solaris Studio 12.3 Information Library (日本語) |
trace コマンドは、実行したソース行、関数呼び出し、変数の変更を表示します。
トレース速度は dbx 環境変数 trace_speed によって設定します。
dbx が Java モードで、トレースのブレークポイントをネイティブコードで設定する場合は、joff コマンドを使用してネイティブモードに切り替えるか (「joff コマンド」参照)、traceコマンドの前に native を追加します (「native コマンド」参照)。
dbx が JNI モードで、トレースのブレークポイントを Java コードで設定する場合は、trace コマンドの前に java を追加します (「java コマンド」参照)。
trace コマンドの一般構文は、次のとおりです。
trace event_specification [modifier]
指定イベントが発生すると、トレースが出力されます。
ネイティブモードでは、次の構文が有効です。
指定 file_name に全トレース出力を送ります。トレース出力を標準出力に戻すには、file_name の代わりに - を使用します。トレース出力は常に file_name に追加されます。トレース出力は、dbx がプロンプト表示するたび、またアプリケーションが終了するたびにフラッシュされます。dbx 接続後にプログラムの実行を再開するか新たに実行を開始すると、file_name が常に開きます。
各ソース行、関数呼び出し、および戻り値をトレースします。
指定 function の中で各ソース行をトレースします。
指定のソース line_number をトレースします。
指定 function の呼び出しとこの関数からの戻り値をトレースします。
file_name 内のいずれかの関数の呼び出しとその関数からの戻り値をトレースします。
function という名前のメンバー関数の呼び出しをトレースします。
functionという名前の関数が呼び出されるとトレースします。
class のメンバー関数の呼び出しをトレースします。
variable の変更をトレースします。
ここで
file_name は、トレース出力の送信先ファイルの名前です。
function は、関数の名前です。
line_number は、ソースコード行の番号です。
class は、クラスの名前です。
variable は、変数の名前です。
ネイティブモードでは、次の修飾子が有効です。
condition_expression が真の場合にだけ、指定したイベントが 発生します。
指定したイベントが関数で発生した場合にだけ、実行が停止します。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、実行が停止され、カウンタが 0 にリセットされます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。
イベントの発生時に削除される一時的なブレークポイントを作成します。
無効状態のブレークポイントを作成します。
命令レベルのバリエーションを実行します。たとえば、step は命令レベルのステップ実行になり、at では行番号ではなくテキストアドレスを引数として指定します。
このイベントをデバッグ中は常に有効にします。一部のイベント (ブレークポイントなど) は、常に有効にするのには適していません。 delete all は、常に有効なハンドラを削除しません。削除するには、delete hid を使用します。
status コマンドからイベントを隠ぺいします。一部のインポートモジュールでこれが使用されることがあります。そのようなモジュールを表示するには、status -h を使用します。
指定した LWP で指定したイベントが発生した場合にだけ、実行が停止します。
指定したスレッドで指定したイベントが発生した場合にだけ、実行が停止します。
Java モードでは、次の構文が有効です。
指定 file_name に全トレース出力を送ります。トレース出力を標準出力に戻すには、file_name の代わりに - を使用します。トレース出力は常に file_name に追加されます。トレース出力は、dbx がプロンプト表示するたび、またアプリケーションが終了するたびにフラッシュされます。file_name は、接続後の新規実行時や再開時に必ずオープンし直されます。
line_number をトレースします。
指定したソース file_name.line_number をトレースします。
次の呼び出しと、戻り値をトレースします。class_name. method_name。
class_name.method_name([parameters]) の呼び出しと、このメソッドからの戻り値をトレースします。
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 は、メソッドのパラメータです。
Java モードでは、次の修飾子が有効です。
condition_expression が真の場合にだけ、指定したイベントが発生し、トレースが出力されます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。number に到達すると、トレースが出力され、カウンタが 0 にリセットされます。
カウンタが 0 で開始され、イベントの発生ごとに増分されます。実行は停止されません。
イベントが発生してトレースが出力されるときに削除される、一時的なブレークポイントを作成します。-temp を -count とともに使用した場合は、カウンタが 0 にリセットされたときだけブレークポイントが削除されます。
無効状態のブレークポイントを作成します。
全イベントのリストと構文については、「イベント指定の設定」を参照してください。