The Spypoint Menu

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 Spypoints Menu

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.