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

プログラムを継続する

プログラムを継続するには、cont コマンドを使用します。


(dbx) cont

cont コマンドには、派生関数の cont at line_number があります。これを使用すると、現在のプログラム位置の行以外の行を指定して、プログラムの実行を再開することができます。これにより、再コンパイルすることなく、問題を起こすことがわかっている 1 行または複数行のコードをスキップできます。

特定の行からプログラムを継続するには、cont at line_number コマンドを入力します。たとえば、次のように入力します。


(dbx) cont at 124

行番号は、プログラムが停止しているファイルから計算される点に注意してください。指定した行番号は、関数のスコープ内になければなりません。

cont at の有効な応用例として、assign コマンドとともに使用する方法があります。cont at line-number (行番号) と assign とを組み合わせると、ある変数の値を正しく計算できない関数の呼び出しが含まれている行を実行しないようにすることが可能です。

特定の行からプログラムの実行を再開するには、次のようにします。

  1. assign を使用して変数に正しい値を代入します。

  2. cont at line-number で、その値を正しく計算できない関数の呼び出しが含まれている行を飛ばします。

プログラムが 123 行目で停止しているものとします。その行では、関数 how_fast() を呼び出しています。この関数は、変数 speed を正しく計算しません。speed の正しい値がわかっているため、speed に値を代入することができます。その後、how_fast() の呼び出しを飛ばして、プログラムの実行を 124 行目から継続します。


(dbx) assign speed = 180; cont at 124;

このコマンドを when ブレークポイントコマンドとともに使用すると、プログラムは 123 行目の実行を試みるたびに how_fast() の呼び出しを飛ばします。


 

(dbx) when at 123 { assign speed = 180; cont at 124;}