Debugger Callback

When the port callback is called a frame reference and a port name is handed over. The frame reference is an entry point to the call stack of the currently called goal. From there the currently called goal and further information can be accessed. By using a different port callback, it is possible to provide additional tooling.

The port callback is customizable via the multi-file predicate goal_tracing/2:

Depending on the call-back further control state might determine the behaviour of the call-back. This control state might be again scattered along the knowledge base and the Prolog engine and have different scopes. In case of the default debugger user interface the control state embraces the following settings.

Whether a predicate is visible to the default prompt depends on itself:

The following knowledge base level control state of the default prompt is available:

The following Prolog engine level control state of the default prompt is available:

Kommentare