Debugger

Stepping through program execution and breaking at predefined conditions is possible with the MINERVA debugger.

The debugger is operationally simple and compiled right into the MINERVA binary (for techies: its not a meta-program).

To compile a program fragment for execution under the MINERVA debugger use minervac -debug.

The following example shows the use of breakpoint and the invokation. For details refer to Compile, Go and the other files of this directory.

start :- breakpoint(app/3), % Breakpoint breakif((app(A,B,C) :- C = [c])), % Condition debug(app([1,2], [ b,c], L)). % Invokation

app([],L,L). app([E|L1],L2,[E|L3]) :- app(L1,L2,L3).

This is how a first step and the the help screen look like:

MINERVA 2.1 Development Server (c) 1996,99 IF Computer http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com MINERVA License for evaluation purposes only

?- start. CALL app([1,2],[b,c],_554) trace: h s)tep single pass n)ext pass over f)ail force 'fail' c)ont continue till next breakpoint b)acktrace show stack backtrace (activation stack) a)bort abort e)scape call 'break/0' h)elp show this help message

app([1,2],[b,c],_554) trace:


Up read on...