[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
コマンドは 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
の引数がユーザ定義函数の呼び出しを含む場合,
その函数呼び出しでエラーが起こった場合に元の函数の実行継続が不可能
になる場合があるということである.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Nobuki Takayama on June, 8 2017 using texi2html 1.76.