Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

ネイティブモードの構文

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

trace -file file_name

指定 file_name に全トレース出力を送ります。トレース出力を標準出力に戻すには、file_name の代わりに - を使用します。トレース出力は常に file_name に追加されます。トレース出力は、dbx がプロンプト表示するたび、またアプリケーションが終了するたびにフラッシュされます。dbx 接続後にプログラムの実行を再開するか新たに実行を開始すると、file_name が常に開きます。

trace step

各ソース行、関数呼び出し、および戻り値をトレースします。

trace next -in function

指定 function の中で各ソース行をトレースします。

trace at line_number

指定のソース line_number をトレースします。

trace in function

指定 function の呼び出しとこの関数からの戻り値をトレースします。

trace infile file_name

file_name 内のいずれかの関数の呼び出しとその関数からの戻り値をトレースします。

trace inmember function

function という名前のメンバー関数の呼び出しをトレースします。

trace infunction function

functionという名前の関数が呼び出されるとトレースします。

trace inclass class

class のメンバー関数の呼び出しをトレースします。

trace change variable

variable の変更をトレースします。

ここで

file_name は、トレース出力の送信先ファイルの名前です。

function は、関数の名前です。

line_number は、ソースコード行の番号です。

class は、クラスの名前です。

variable は、変数の名前です。

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

-if condition_expression

condition_expression が真の場合にだけ、指定したイベントが 発生します。

-in function

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

-count number

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

-count infinity

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

-temp

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

-disable

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

-instr

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

-perm

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

-hidden

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

-lwp lwpid

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

-thread thread_id

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