
|
Go to the first, previous, next, last section, table of contents.
コマンドは dbx のコマンドの内必要最小限のものを採用した.
更に, gdb のコマンドからもいくつか便利なものを採用した.
実際の機能は dbx とほぼ同様であるが, step , next は,
次の行ではなく次の文を実行する.
従って, 1行に複数の文がある場合は, その文の数だけ next
を実行しなければ次の行に進めない. また, dbx と同様
`.dbxinit' を読み込むので, dbx と同じ alias を使うことがで
きる.
step
-
次の文を実行する. 次の文が函数を含むとき, その函数に入る.
next
-
次の文を実行する.
finish
-
現在実行中の函数の実行が終了した時点で再びデバッグモードに入る.
誤って
step を実行した場合に有効である.
cont
-
quit
-
デバッグモードから抜け, 実行を継続する.
up [n]
-
スタックフレームを 1 段 (引数 n がある時は n 段) 上がる.
これにより, そのスタックフレームに属する変数の値の参照, 変更ができる.
down [n]
-
スタックフレームを 1 段 (引数 n がある時は n 段) 下がる.
frame [n]
-
引数がないとき, 現在実行中の函数を表示する.
引数があるとき, スタックフレームを番号 n のものに設定する. ここで
スタックフレームの番号とは
where により表示される呼び出し列において, 先頭に表示される番号の
ことである.
list [startline]
-
list function
-
現在行, または startline, または functionの先頭から 10 行ソー
スファイルを表示する.
print expr
-
expr を表示する.
func function
-
対象函数を function に設定する.
stop at sourceline [if cond]
-
stop in function
-
sourceline行目, または function の先頭にブレークポイントを
設定する. ブレークポイントは, 函数が再定義された場合自動的に取り消され
る.
if が続く場合, cond が評価され, それが 0 でない場合に
実行が中断し, デバッグモードに入る.
trace expr at sourceline [if cond]
-
trace expr in function
-
stop と同様であるが, trace では単に expr を表示する
のみで, デバッグモードには入らない.
delete n
-
ブレークポイント n を取り消す.
status
-
ブレークポイントの一覧を表示する.
where
-
現在の停止点までの呼び出し列を表示する.
alias alias command
-
command に alias の別名を与える.
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 の引数がユーザ定義函数の呼び出しを含む場合,
その函数呼び出しでエラーが起こった場合に元の函数の実行継続が不可能
になる場合があるということである.
Go to the first, previous, next, last section, table of contents.
|