[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
コマンドは dbx
のコマンドの内必要最小限のものを採用した.
更に, gdb
のコマンドからもいくつか便利なものを採用した.
実際の機能は dbx
とほぼ同様であるが, step
, next
は,
次の行ではなく次の文を実行する.
従って, 1行に複数の文がある場合は, その文の数だけ next
を実行しなければ次の行に進めない. また, dbx
と同様
`.dbxinit' を読み込むので, dbx
と同じ alias を使うことがで
きる.
step
next
finish
step
を実行した場合に有効である.
cont
quit
up [n]
down [n]
frame [n]
where
により表示される呼び出し列において, 先頭に表示される番号の
ことである.
list [startline]
list function
print expr
func function
stop at sourceline [if cond]
stop in function
if
が続く場合, cond が評価され, それが 0 でない場合に
実行が中断し, デバッグモードに入る.
trace expr at sourceline [if cond]
trace expr in function
stop
と同様であるが, trace
では単に expr を表示する
のみで, デバッグモードには入らない.
delete n
status
where
alias alias command
print
の引数として, トップレベルにおけるほとんどすべての式
がとれる. 通常は, 変数の内容の表示が主であるが, 必要に応じて次の
ような使い方ができる.
実行中のブレークポイントにおいて, 変数の値を変更して実行を継続させたい 場合, 次のような操作を行えばよい.
(debug) print A A = 2 (debug) print A=1 A=1 = 1 (debug) print A A = 1 |
函数呼び出しも式であるから, print
の引数としてとれる.
(debug) print length(List) length(List) = 14 |
この例では, 変数 List
に格納されているリストの長さを length()
により調べている.
(debug) print ctrl("cputime",1) ctrl("cputime",1) = 1 |
この例は, 計算開始時に CPU 時間の表示の指定をし忘れた場合などに, 計算 途中でデバッグモードから指定を行えることを示している.
また, 止むを得ず計算を中断しなければならない場合, デバッグモードから
bsave()
などのコマンドにより途中結果をファイルに保存することも
できる.
(debug) print bsave(A,"savefile") bsave(A,"savefile") = 1 |
デバッグモードからの函数呼び出しで注意すべきことは,
print
の引数がユーザ定義函数の呼び出しを含む場合,
その函数呼び出しでエラーが起こった場合に元の函数の実行継続が不可能
になる場合があるということである.