AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(prolog_debug): User level debugging tools
          • debug_control_hook/1
          • spy/1
          • nospy/1
          • nospyall/0
          • debugging/0
          • trap/1
          • notrap/1
          • exception_hook/4
    • Packages
prolog:debug_control_hook(:Action)
Hook for the debugger control predicates that allows the creator of more high-level programming languages to use the common front-end predicates to control the debugger. For example, XPCE uses these hooks to allow for spying methods rather than predicates. Action is one of:
spy(Spec)
Hook in spy/1. If the hook succeeds spy/1 takes no further action.
nospy(Spec)
Hook in nospy/1. If the hook succeeds nospy/1 takes no further action. If spy/1 is hooked, it is advised to place a complementary hook for nospy/1.
nospyall
Hook in nospyall/0. Should remove all spy points. This hook is called in a failure-driven loop.
debugging
Hook in debugging/0. It can be used in two ways. It can report the status of the additional debug points controlled by the above hooks and fail to let the system report the others, or it succeeds, overruling the entire behaviour of debugging/0.
[multifile]prolog:debug_control_hook(+Action)
Allow user-hooks in the Prolog debugger interaction. See the calls below for the provided hooks. We use a single predicate with action argument to avoid an uncontrolled poliferation of hooks.