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

トレースの実行

トレースは、プログラムの処理状況に関する情報を収集して表示します。プログラムは、trace コマンドで作成されたブレークポイントに到達すると処理を停止し、イベント固有の trace 情報行を出力したあと、処理を再開します。

トレースは、ソースコードの各行を実行直前に表示します。極めて単純なプログラムを除くすべてのプログラムで、このトレースは大量の出力を生成します。

さらに便利なトレースは、フィルタを利用してプログラムのイベント情報を表示します。たとえば、関数の各呼び出し、特定の名前のすべてのメンバー関数、クラス内のすべての関数、または関数の各 exit をトレースできます。また、変数の変更もトレースできます。

トレースを設定する

コマンド行に trace コマンドを入力することにより、トレースを設定します。trace コマンドの基本構文は次のとおりです。


trace event-specification [ modifier ]

trace コマンドの完全な構文については、trace コマンド」を参照してください。

トレースで提供される情報は、トレースに関連する event の型に依存します (「イベント指定の設定」を参照)。

トレース速度を制御する

トレースの出力が速すぎる場合がよくあります。dbx 環境変数trace_speed を使用すると、各トレースの出力後の遅延を制御できます。デフォルトの遅延は 0.5 秒です。

トレース時の各行の実行間隔を秒単位で設定するには、次のように入力します。


dbxenv trace_speed number

ファイルにトレース出力を転送する

-file filename オプションを使用すると、トレース出力をファイルに転送できます。たとえば、次のコマンドはトレース出力をファイル trace1 に転送します。


(dbx) trace -file trace1

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