object

# `debugger`

Command-line debugger based on an extended procedure box model supporting execution tracing and spy points.

Author: Paulo Moura
Version: 4:14:0
Date: 2023-01-25
Compilation flags:
`static, context_switching_calls`
Implements:
`public` debuggerp
Provides:
logtalk::debug_handler_provider/1
logtalk::debug_handler/2
Uses:
logtalk
Remarks:
(none)
Inherited public predicates:
debug/0 debugging/0 debugging/1 leash/1 leashing/1 nodebug/0 nospy/1 nospy/4 nospyall/0 notrace/0 reset/0 spy/1 spy/4 spying/1 spying/4 trace/0

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

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

### `spying_line_number_/2`

Table of line number breakpoints.

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

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

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

### `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 maximum depth.

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

## Operators

(none)