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