If not already debugging, the trace mode is switched on and set to leap.
When tracing, a leap command to the debugger will cause execution to continue until it reaches a spied predicate. Setting a spy-point on a non-existing procedure results in an error.
Note that spypoints can also be set using set_flag(Proc, spy, on).
Success:
[eclipse]: [user].
lower:-writeln(hi).
higher:-lower.
user compiled 84 bytes in 0.00 seconds
yes.
[eclipse]: spy higher,writeln.
spypoint added to higher / 0.
spypoint added to writeln / 1.
spypoint added to writeln / 2.
yes.
[eclipse]: higher.
+(1) 0 CALL higher (dbg)?- leap
B+(3) 2 CALL writeln(hi) (dbg)?- leap
hi
B+(3) 2 EXIT writeln(hi) (dbg)?- leap
+(1) 0 EXIT higher (dbg)?- leap
yes.
Error:
spy(I). (Error 4).
spy("l"). (Error 5).
spy(foo). (Error 60).