トレースは、プログラムの処理状況に関する情報を収集して表示します。プログラムは、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 が常に開きます。