MINERVAのデバッガー minervad は大変簡単なもので、 これを使えばあなたのプログラムを歩いて回り、 それがどのように動くのかがわかります。
また、このデバッガを使用すると、あるbreakpoint まで、プログラムを実行させることができます。
デバッガーを使うか使わないかについては、 コンパイル時に、つまりminervacを呼び出す時に、 "-debug"のオプションをつけるかつけないによります。
minervac -debug myNewProg
すでに存在するプログラムコンポーネントと共に、-debugオプションをつけて コンパイルしたオブジェクトを組み合わせることもできます。
あるプログラムをデバッガーで呼び出したい場合には、minervadを使用します。
minervad myNewProg
あるゴールをデバッガーで呼び出したい場合には、debug/1の述語を使用します。
someGoal(Args,..) :- subGoal1(A), subGoal2(B), : debug(subGoal(K)), % debugger will show this : subGoalN(Z).
ある所定の条件で実行を停止するには、ブレークポイントを使います。 ブレークポイントは、プログラムの状態およびデータの条件を表現します。
start :-
breakpoint(app/3),
breakif((app(A,B,C) :- C = [c])),
debug(app([1,2], [ b,c], L)).
app([],L,L).
app([E|L1],L2,[E|L3]) :- app(L1,L2,L3).
対話的にデバッガーを制御する場合には以下を使って下さい。
s)tep single pass (単独パス)
n)ext pass over (パス)
f)ail force 'fail' ('fail'を強制)
c)ont continue till next breakpoint
(次のブレークポイントまで継続)
b)acktrace show stack backtrace (activation stack)
(スタックバックトレースを示す)
a)bort abort (アボート)
e)scape call 'break/0' ('break/0'を呼ぶ)
h)elp show this help message
(このヘルプメッセージを示す。)
| 冒頭へ |
|