Predicates controlling the interactive debugger

Author(s): A. Ciepielewski, Mats Carlsson, T. Chikayama, K. Shen, Daniel Cabeza, Manuel C. Rodriguez, Edison Mera.

This library implements predicates which are normally used in the interactive top-level shell to debug programs. A subset of them are available in the embeddable debugger.

Usage and interface

Documentation on exports

PREDICATE

Usage:call_in_module(Module,Predicate)

Calls predicate Predicate belonging to module Module, even if that module does not export the predicate. This only works for modules which are in debug (interpreted) mode (i.e., they are not optimized).

  • The following properties should hold at call time:
    (basic_props:atm/1)Module is an atom.
    (basic_props:callable/1)Predicate is a term which represents a goal, i.e., an atom or a structure.

(UNDOC_REEXPORT)
breakpt/6:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
debug/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
debug_module/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
debug_module_source/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
debugging/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
debugrtc/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
get_debugger_state/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
get_debugger_state/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
leash/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
list_breakpt/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
maxdepth/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nobreakall/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nobreakpt/6:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nodebug/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nodebug_module/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nodebugrtc/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nospy/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
nospyall/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
notrace/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
spy/1:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
trace/0:
Imported from debugger_lib (see the corresponding documentation for details).

(UNDOC_REEXPORT)
tracertc/0:
Imported from debugger_lib (see the corresponding documentation for details).

Documentation on multifiles

PREDICATE

(Trust) Usage:define_flag(Flag,FlagValues,Default)

  • The following properties hold upon exit:
    (basic_props:atm/1)Flag is an atom.
    (basic_props:flag_values/1)Define the valid flag values
The predicate is multifile.

Known bugs and planned improvements

  • Add an option to the emacs menu to automatically select all modules in a project.
  • Consider the possibility to show debugging messages directly in the source code emacs buffer.