トレースは、プログラムの処理状況に関する情報を収集して表示します。プログラムは、trace コマンドで作成されたブレークポイントに到達すると処理を停止し、イベント固有の trace 情報行を出力したあと、処理を再開します。
トレースは、ソースコードの各行を実行直前に表示します。極めて単純なプログラムを除くすべてのプログラムで、このトレースは大量の出力を生成します。
さらに便利なトレースは、フィルタを利用してプログラムのイベント情報を表示します。たとえば、関数の各呼び出し、特定の名前のすべてのメンバー関数、クラス内のすべての関数、または関数の各 exit をトレースできます。また、変数の変更もトレースできます。
コマンド行に trace コマンドを入力することにより、トレースを設定します。trace コマンドの基本構文は次のとおりです。
trace event-specification [ modifier ]
trace コマンドの完全な構文については、trace コマンドを参照してください。
トレースで提供される情報は、トレースに関連する event の型に依存します (イベント指定の設定を参照)。
トレース出力の表示が速すぎる場合があります。 dbxenv 変数 trace_speed を使用して、各トレースが出力された後の遅延を制御できます。デフォルトの遅延は 0.5 秒です。
トレース中のコードの各行の実行間隔を秒単位で設定するには:
dbxenv trace_speed number
-file filename オプションを使用すると、トレースの出力をファイルに転送できます。たとえば、次のコマンドはトレース出力をファイル trace1 に転送します。
(dbx) trace -file trace1
トレース出力を標準出力に戻すには、filename の代わりに - を使用します。トレース出力は常に filename に追加されます。トレース出力は、dbx がプロンプト表示するたび、またアプリケーションが終了するたびにフラッシュされます。接続後に新たに実行するか再開すると、ファイルが常に再び開きます。