The two places I’ve found that reference “Debug Mode” both state that it stops/traps “Trace Points” (which I understand to mean traces set by
- Here it says: “In debug mode, Prolog stops at spy and trace points…”
- Here it says: " If debug mode is activated the system traps encountered spy points (see spy/1) and trace points (see trace/1)…"
From what I can tell, Trace Points set by
trace/2 don’t care whether you are in debug mode or not (and furthermore that the system never stops at a trace point set by trace/1 and trace/2, it only stops when in trace mode set by
?- trace(foo/1). % foo/1: [all] true. ?- debugging. % Debug mode is off true. ?- tracing. false. ?- foo(X). T Call: foo(_17194) T Exit: foo(bar) X = bar ; T Redo: foo(bar) T Exit: foo(baz) X = baz.
Am I missing something or is there just a bug in the docs?