dbx コマンドによるデバッグ

コードをトレースする

トレースにより、実行しようとしている行や呼び出そうとしている関数についての情報が表示されます。

トレースを設定する

コマンド行に trace コマンドを入力し、トレースを設定します。Failed Cross Reference Format は、設定できるトレースの各タイプのコマンド構文を示しています。トレースにより表示される情報は、そのトレースに対応づけられたイベントのタイプによって異なります。

表 5-1 trace コマンドの構文

コマンド 

出力される内容 

trace step

プログラムのすべての行をそれが実行されるときに表示する。 

trace next -in function

関数 function に制御が移っている間、各行で表示する。

trace at line_number

line_number で指定された行を次に実行する場合に、その行の行番号と内容。

trace in function

関数 function を呼び出した関数の名前、行番号、渡されたパラメータ、戻り値。

trace inmember member_function

すべてのクラスの member_function を呼び出した関数の名前、その行番号、渡されたパラメータ、その戻り値。

trace inclass class

クラス class 内のすべてのメンバー関数を呼び出した関数の名前、その行番号、渡されたパラメータ、その戻り値。

trace infunction function

C++ プログラム内の非メンバー関数 function を呼び出した関数の名前、その行番号、渡されたパラメータ、その戻り値。

trace change variable [-in function]

指定された関数 function 内の変数 variable の値が変更されたとき、その新しい値とその変数が変更された行。

トレース速度を制御する

多くのプログラムは高速に実行されるため、表示がよく見えません。環境変数 dbxenv trace_speed を使用して、トレーススコープ内の各行の実行間隔を制御することができます。デフォルトの実行間隔は 0.5 秒です。

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


dbxenv trace_speed number