protocol

# debuggerp

> Debugger protocol.

author:
  `Paulo Moura`
version:
  `1.0`
date:
  `2014/7/27`

compilation flags:
  `static`

(no dependencies on other files)

## Public interface

### reset/0

> Resets all debugging settings, including spy points.

compilation flags:
  `static`
mode – number of proofs:
  `reset – one`

### debug/0

> Starts debugging for all defined spy points.

compilation flags:
  `static`
mode – number of proofs:
  `debug – one`

### nodebug/0

> Stops debugging for all defined spy points.

compilation flags:
  `static`
mode – number of proofs:
  `nodebug – one`

### debugging/0

> Reports current debugging settings, including spy points.

compilation flags:
  `static`
mode – number of proofs:
  `debugging – one`

### debugging/1

> True if the entity is being debugged.

compilation flags:
  `static`
template:
  `debugging(Entity)`
mode – number of proofs:
  `debugging(+entity_identifier) – zero_or_one`

### trace/0

> Starts tracing all calls compiled in debug mode.

compilation flags:
  `static`
mode – number of proofs:
  `trace – one`

### notrace/0

> Stops tracing of call compiled in debug mode.

compilation flags:
  `static`
mode – number of proofs:
  `notrace – one`

### spy/1

> Sets a line number spy point or a predicate spy point or a list of spy points.

compilation flags:
  `static`
template:
  `spy(SpyPoint)`
mode – number of proofs:
  `spy(+spy_point) – one`
  `spy(+list(spy_point)) – one`

### spy/4

> Sets a context spy point.

compilation flags:
  `static`
template:
  `spy(Sender,This,Self,Goal)`
mode – number of proofs:
  `spy(@term,@term,@term,@term) – one`

### nospy/1

> Removes all matching line number spy points and predicate spy points.

compilation flags:
  `static`
template:
  `nospy(SpyPoint)`
mode – number of proofs:
  `nospy(@variable) – one`
  `nospy(+spy_point) – one`
  `nospy(+list(spy_point)) – one`

### nospy/4

> Removes all matching context spy points.

compilation flags:
  `static`
template:
  `nospy(Sender,This,Self,Goal)`
mode – number of proofs:
  `nospy(@term,@term,@term,@term) – one`

### nospyall/0

> Removes all line number, predicate, and context spy points.

compilation flags:
  `static`
mode – number of proofs:
  `nospyall – one`

### leash/1

> Sets the debugger leash ports using an abbreviation (none, loose, half, tight, or full) or a list of ports (valid ports are fact, rule, call, exit, redo, fail, and exception).

compilation flags:
  `static`
template:
  `leash(Ports)`
mode – number of proofs:
  `leash(+atom) – one`
  `leash(+list(atom)) – one`

## Protected interface

(none)

## Private predicates

(none)

## Operators

### (none)

## Remarks

### (none)