Node:Breakpoint Conditions, Next:Consult, Previous:Breakpoint Processing, Up:Debug Intro
This section describes the format of simple breakpoint conditions. We first list the tests that can be used to enquire the state of execution. We then proceed to describe the conditions usable in the actions part and the options for focusing on past execution states. Finally, we describe condition macros and the valid values for the debugger action variables.
We distinguish between two kinds of tests, based on whether they refer
to information stored in the backtrace or not. The latter category, the
non-backtraced tests, contains the conditions related to the
current port (port
, bid
, mode
, show
,
command
) and the breakpoint type selection conditions
(advice
and debug
). All remaining tests refer to
information stored in the backtrace.
Non-backtraced tests will raise an exception, if they appear in calls to
execution_state/1
from outside the debugger, or in queries about
past execution state, in execution_state/2
.
Backtraced tests are allowed both inside and outside the
debugger. However such tests can fail if the given query is not
meaningful in the given context, e.g. if
execution_state(goal(G))
is queried before any breakpoints were
encountered.
Note that if a test is used in the second argument of
execution_state/2
, then the term current, in the following
descriptions, should be interpreted as referring to the execution state
focused on.