The Spypoint menu allows you to set spypoints in your code by selecting the goal to be spied with the mouse, thereby highlighting the goal, and then selecting a spy command (see dbg-bas-tra-spy for an explanation of spypoints). You may add or remove spypoints from goals or predicates this way.
+-----------------+ | Spy Goal | +-----------------+ | Nospy Goal | +-----------------+ | Spy Predicate | +-----------------+ | Nospy Predicate | +-----------------+
Selecting the Spy Goal command will place a spypoint on the currently selected goal, and selecting Nospy Goal will remove the spypoint. Selecting the Spy Predicate command will place a spypoint on the predicate for which a goal (or clause head) is currently selected, and Nospy Predicate will remove the spypoint. The difference between goal and predicate spypoints is that a spypoint on a predicate will stop the debugger regardless of how that predicate is called, while a goal spypoint will only stop when the predicate is called from that particular goal.
When a spypoint is placed on a goal, a small stop-sign is placed before that goal in the debugger window, indicating that it is spied. Similarly, when a predicate is spied, a stop-sign is placed before the first clause for that predicate.