New Debugger Commands

The Prolog debugger is extended by FDBG. The & debugger is modified, and two new commands are added:

& N
This debugger command is extended so that the annotated form of domain variables is also printed when listing the variables with blocked goals.

A Selector
Annotates and prints the current goal and a legend of the variables appearing in it. If a selector is specified, the subterm specified by it is assumed to be an action list, and is taken into account when displaying the legend. For example:
          23  2 Exit: clpfd:dispatch_global_fast(no_threat(2,_1001,1),0,0,
                      [exit,_1001 in_set[[3|3]]]) ? A [2,4]
                                     [exit,<board_2> in_set[[3|3]]])
              board_2 = 1..4 -> {3}
              Constraint exited.

W Name=Selector
Assigns the atom Name to the variable specified by the Selector. For example:
          7      15 Call: bar(4, [_101,_102,_103]) ? W foo=[2,#2]

This would assign the name foo to _102, being the second element of the second argument of the current goal.

Send feedback on this subject.