This module contains predicates for retrieving information about the current Prolog stack for
debugging purposes.
- da_stack_trace(+FrameId, -StackTrace) is det
- StackTrace is unified with a list of describing the current execution stack, starting from
FrameId. The stack frame corresponding to FrameId itself is not included in StackTrace.
Each element of StackTrace is a compound term of the form
stack_frame(StackFrameId, PredicateIndicator, Alternative, SourceSpan)
, where:
- StackFrameId is the temporarly unique ID of the frame,
- PredicateIndicator is the qualified predicate indicator of the frame's goal,
- Alternative is a term describing the location from which execution will be resumed in case
the frame's goal fails and
- SourceSpan is the the portion of source code which defines the call to the frame's goal
within the enclosing clause, also known as the call site of the frame.
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
- da_stack_frame_at_port(Arg1, Arg2, Arg3, Arg4)