.. index:: debugger .. _debugger/0: .. rst-class:: right **object** ``debugger`` ============ Command-line debugger based on an extended procedure box model supporting execution tracing and spy points. | **Availability:** | ``logtalk_load(debugger(loader))`` | **Author:** Paulo Moura | **Version:** 7:9:1 | **Date:** 2024-11-03 | **Compilation flags:** | ``static, context_switching_calls`` | **Implements:** | ``public`` :ref:`debuggerp ` | **Provides:** | :ref:`logtalk::debug_handler/1 ` | :ref:`logtalk::debug_handler/3 ` | **Uses:** | :ref:`logtalk ` | **Remarks:** | (none) | **Inherited public predicates:** |  :ref:`debuggerp/0::debug/0`  :ref:`debuggerp/0::debugging/0`  :ref:`debuggerp/0::debugging/1`  :ref:`debuggerp/0::leash/1`  :ref:`debuggerp/0::leashing/1`  :ref:`debuggerp/0::log/3`  :ref:`debuggerp/0::logging/3`  :ref:`debuggerp/0::nodebug/0`  :ref:`debuggerp/0::nolog/3`  :ref:`debuggerp/0::nologall/0`  :ref:`debuggerp/0::nospy/1`  :ref:`debuggerp/0::nospy/3`  :ref:`debuggerp/0::nospy/4`  :ref:`debuggerp/0::nospyall/0`  :ref:`debuggerp/0::notrace/0`  :ref:`debuggerp/0::reset/0`  :ref:`debuggerp/0::spy/1`  :ref:`debuggerp/0::spy/3`  :ref:`debuggerp/0::spy/4`  :ref:`debuggerp/0::spying/1`  :ref:`debuggerp/0::spying/3`  :ref:`debuggerp/0::spying/4`  :ref:`debuggerp/0::trace/0`   .. contents:: :local: :backlinks: top Public predicates ----------------- (no local declarations; see entity ancestors if any) Protected predicates -------------------- (no local declarations; see entity ancestors if any) Private predicates ------------------ .. index:: debugging_/0 .. _debugger/0::debugging_/0: ``debugging_/0`` ^^^^^^^^^^^^^^^^ True iff debug is on. | **Compilation flags:** | ``dynamic`` | **Mode and number of proofs:** | ``debugging_`` - ``zero_or_one`` ------------ .. index:: tracing_/0 .. _debugger/0::tracing_/0: ``tracing_/0`` ^^^^^^^^^^^^^^ True iff tracing is on. | **Compilation flags:** | ``dynamic`` | **Mode and number of proofs:** | ``tracing_`` - ``zero_or_one`` ------------ .. index:: skipping_/0 .. _debugger/0::skipping_/0: ``skipping_/0`` ^^^^^^^^^^^^^^^ True iff skipping. | **Compilation flags:** | ``dynamic`` | **Mode and number of proofs:** | ``skipping_`` - ``zero_or_one`` ------------ .. index:: skipping_unleashed_/1 .. _debugger/0::skipping_unleashed_/1: ``skipping_unleashed_/1`` ^^^^^^^^^^^^^^^^^^^^^^^^^ True iff skipping (a goal with invocation number ``N``) but showing intermediate ports as unleashed. | **Compilation flags:** | ``dynamic`` | **Template:** | ``skipping_unleashed_(N)`` | **Mode and number of proofs:** | ``skipping_unleashed_(?integer)`` - ``zero_or_one`` ------------ .. index:: quasi_skipping_/0 .. _debugger/0::quasi_skipping_/0: ``quasi_skipping_/0`` ^^^^^^^^^^^^^^^^^^^^^ True iff quasi-skipping. | **Compilation flags:** | ``dynamic`` | **Mode and number of proofs:** | ``quasi_skipping_`` - ``zero_or_one`` ------------ .. index:: leaping_/1 .. _debugger/0::leaping_/1: ``leaping_/1`` ^^^^^^^^^^^^^^ True iff leaping in tracing or debugging mode. | **Compilation flags:** | ``dynamic`` | **Template:** | ``leaping_(Mode)`` | **Mode and number of proofs:** | ``leaping_(?atom)`` - ``zero_or_one`` ------------ .. index:: breakpoint_/2 .. _debugger/0::breakpoint_/2: ``breakpoint_/2`` ^^^^^^^^^^^^^^^^^ Table of unconditional breakpoints. | **Compilation flags:** | ``dynamic`` | **Template:** | ``breakpoint_(Entity,Line)`` | **Mode and number of proofs:** | ``breakpoint_(?object_identifier,?integer)`` - ``zero_or_more`` | ``breakpoint_(?category_identifier,?integer)`` - ``zero_or_more`` ------------ .. index:: spying_predicate_/3 .. _debugger/0::spying_predicate_/3: ``spying_predicate_/3`` ^^^^^^^^^^^^^^^^^^^^^^^ Table of predicate spy points. | **Compilation flags:** | ``dynamic`` | **Template:** | ``spying_predicate_(Functor,Arity,Original)`` | **Mode and number of proofs:** | ``spying_predicate_(?atom,?integer,?predicate_indicator)`` - ``zero_or_more`` | ``spying_predicate_(?atom,?integer,?non_terminal_indicator)`` - ``zero_or_more`` ------------ .. index:: spying_context_/4 .. _debugger/0::spying_context_/4: ``spying_context_/4`` ^^^^^^^^^^^^^^^^^^^^^ Table of context spy points. | **Compilation flags:** | ``dynamic`` | **Template:** | ``spying_context_(Sender,This,Self,Goal)`` | **Mode and number of proofs:** | ``spying_context_(?object_identifier,?object_identifier,?object_identifier,?callable)`` - ``zero_or_more`` ------------ .. index:: leashing_/1 .. _debugger/0::leashing_/1: ``leashing_/1`` ^^^^^^^^^^^^^^^ Table of currently leashed ports. | **Compilation flags:** | ``dynamic`` | **Template:** | ``leashing_(Port)`` | **Mode and number of proofs:** | ``leashing_(?atom)`` - ``zero_or_more`` ------------ .. index:: invocation_number_/1 .. _debugger/0::invocation_number_/1: ``invocation_number_/1`` ^^^^^^^^^^^^^^^^^^^^^^^^ Current call stack invocation number. | **Compilation flags:** | ``dynamic`` | **Template:** | ``invocation_number_(N)`` | **Mode and number of proofs:** | ``invocation_number_(?integer)`` - ``zero_or_one`` ------------ .. index:: jump_to_invocation_number_/1 .. _debugger/0::jump_to_invocation_number_/1: ``jump_to_invocation_number_/1`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Invocation number to jump to. | **Compilation flags:** | ``dynamic`` | **Template:** | ``jump_to_invocation_number_(N)`` | **Mode and number of proofs:** | ``jump_to_invocation_number_(?integer)`` - ``zero_or_one`` ------------ .. index:: zap_to_port_/1 .. _debugger/0::zap_to_port_/1: ``zap_to_port_/1`` ^^^^^^^^^^^^^^^^^^ Port to zap to. | **Compilation flags:** | ``dynamic`` | **Template:** | ``zap_to_port_(Port)`` | **Mode and number of proofs:** | ``zap_to_port_(?integer)`` - ``zero_or_one`` ------------ .. index:: write_max_depth_/1 .. _debugger/0::write_max_depth_/1: ``write_max_depth_/1`` ^^^^^^^^^^^^^^^^^^^^^^ Current term maximum depth. | **Compilation flags:** | ``dynamic`` | **Template:** | ``write_max_depth_(MaxDepth)`` | **Mode and number of proofs:** | ``write_max_depth_(?integer)`` - ``zero_or_one`` ------------ .. index:: log_point_/3 .. _debugger/0::log_point_/3: ``log_point_/3`` ^^^^^^^^^^^^^^^^ Table of log points. | **Compilation flags:** | ``dynamic`` | **Template:** | ``log_point_(Entity,Line,Message)`` | **Mode and number of proofs:** | ``log_point_(?object_identifier,?integer,?atom)`` - ``zero_or_more`` | ``log_point_(?category_identifier,?integer,?atom)`` - ``zero_or_more`` ------------ .. index:: conditional_breakpoint_/3 .. _debugger/0::conditional_breakpoint_/3: ``conditional_breakpoint_/3`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Table of conditional breakpoints. | **Compilation flags:** | ``dynamic`` | **Template:** | ``conditional_breakpoint_(Entity,Line,Condition)`` | **Mode and number of proofs:** | ``conditional_breakpoint_(?object_identifier,?integer,?callable)`` - ``zero_or_more`` | ``conditional_breakpoint_(?category_identifier,?integer,?callable)`` - ``zero_or_more`` ------------ .. index:: triggered_breakpoint_/4 .. _debugger/0::triggered_breakpoint_/4: ``triggered_breakpoint_/4`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Table of defined triggered breakpoints. | **Compilation flags:** | ``dynamic`` | **Template:** | ``triggered_breakpoint_(Entity,Line,TriggerEntity,TriggerLine)`` | **Mode and number of proofs:** | ``triggered_breakpoint_(?object_identifier,?integer,?object_identifier,?integer)`` - ``zero_or_more`` | ``triggered_breakpoint_(?object_identifier,?integer,?category_identifier,?integer)`` - ``zero_or_more`` | ``triggered_breakpoint_(?category_identifier,?integer,?object_identifier,?integer)`` - ``zero_or_more`` | ``triggered_breakpoint_(?category_identifier,?integer,?category_identifier,?integer)`` - ``zero_or_more`` ------------ .. index:: triggered_breakpoint_enabled_/2 .. _debugger/0::triggered_breakpoint_enabled_/2: ``triggered_breakpoint_enabled_/2`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Table of enabled triggered breakpoints. | **Compilation flags:** | ``dynamic`` | **Template:** | ``triggered_breakpoint_enabled_(Entity,Line)`` | **Mode and number of proofs:** | ``triggered_breakpoint_enabled_(?object_identifier,?integer)`` - ``zero_or_more`` | ``triggered_breakpoint_enabled_(?category_identifier,?integer)`` - ``zero_or_more`` ------------ .. index:: file_line_hit_count_/3 .. _debugger/0::file_line_hit_count_/3: ``file_line_hit_count_/3`` ^^^^^^^^^^^^^^^^^^^^^^^^^^ Table of file and line hit counts (successful unifications with clause heads). | **Compilation flags:** | ``dynamic`` | **Template:** | ``file_line_hit_count_(File,Line,Count)`` | **Mode and number of proofs:** | ``file_line_hit_count_(?atom,?integer,?integer)`` - ``zero_or_one`` ------------ Operators --------- (none)