| 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:
|