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: 8:0:1
Date: 2026-02-07
Compilation flags:
`static, context_switching_calls`
Implements:
`public` debuggerp
Provides:
logtalk::debug_handler/1
logtalk::debug_handler/3
Uses:
logtalk
Remarks:
(none)
Inherited public predicates:
debug/0 debugging/0 debugging/1 leash/1 leashing/1 log/3 logging/3 nodebug/0 nolog/3 nologall/0 nospy/1 nospy/3 nospy/4 nospyall/0 notrace/0 reset/0 set_write_max_depth/1 spy/1 spy/3 spy/4 spying/1 spying/3 spying/4 trace/0 write_max_depth/1

## Public predicates

(no local declarations; see entity ancestors if any)

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

### `debugging_/0`

True iff debug is on.

Compilation flags:
`dynamic`
Mode and number of proofs:
`debugging_` - `zero_or_one`

### `tracing_/0`

True iff tracing is on.

Compilation flags:
`dynamic`
Mode and number of proofs:
`tracing_` - `zero_or_one`

### `explicit_tracing_/0`

True iff tracing is on due to a call to the trace/0 predicate.

Compilation flags:
`dynamic`
Mode and number of proofs:
`explicit_tracing_` - `zero_or_one`

### `skipping_/0`

True iff skipping.

Compilation flags:
`dynamic`
Mode and number of proofs:
`skipping_` - `zero_or_one`

### `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`

### `quasi_skipping_/0`

True iff quasi-skipping.

Compilation flags:
`dynamic`
Mode and number of proofs:
`quasi_skipping_` - `zero_or_one`

### `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`

### `leashing_/1`

Table of currently leashed ports.

Compilation flags:
`dynamic`
Template:
`leashing_(Port)`
Mode and number of proofs:
`leashing_(?atom)` - `zero_or_more`

### `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`

### `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`

### `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`

### `write_max_depth_/1`

Current term write maximum depth.

Compilation flags:
`dynamic`
Template:
`write_max_depth_(MaxDepth)`
Mode and number of proofs:
`write_max_depth_(?non_negative_integer)` - `zero_or_one`

### `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`

### `clause_breakpoint_/2`

Table of clause breakpoints.

Compilation flags:
`dynamic`
Template:
`clause_breakpoint_(Entity,Line)`
Mode and number of proofs:
`clause_breakpoint_(?object_identifier,?integer)` - `zero_or_more`
`clause_breakpoint_(?category_identifier,?integer)` - `zero_or_more`

### `predicate_breakpoint_/3`

Table of predicate breakpoints.

Compilation flags:
`dynamic`
Template:
`predicate_breakpoint_(Functor,Arity,Original)`
Mode and number of proofs:
`predicate_breakpoint_(?atom,?integer,?predicate_indicator)` - `zero_or_more`
`predicate_breakpoint_(?atom,?integer,?non_terminal_indicator)` - `zero_or_more`

### `entity_predicate_breakpoint_/4`

Table of entity predicate breakpoints.

Compilation flags:
`dynamic`
Template:
`entity_predicate_breakpoint_(Entity,Functor,Arity,Original)`
Mode and number of proofs:
`entity_predicate_breakpoint_(?callable,?atom,?integer,?qualified_predicate_indicator)` - `zero_or_more`
`entity_predicate_breakpoint_(?callable,?atom,?integer,?qualified_non_terminal_indicator)` - `zero_or_more`

### `context_breakpoint_/4`

Table of context breakpoints.

Compilation flags:
`dynamic`
Template:
`context_breakpoint_(Sender,This,Self,Goal)`
Mode and number of proofs:
`context_breakpoint_(?object_identifier,?object_identifier,?object_identifier,?callable)` - `zero_or_more`

### `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`

### `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`

### `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`

### `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)