Next: Consult, Previous: Breakpoint Processing, Up: Debug Intro [Contents][Index]
This section describes the format of simple breakpoint conditions. We first list the tests that can be used to inquire the state of execution. We then proceed to describe the conditions usable in the action part and the options for focusing on past execution states. Finally, we describe condition macros and the format of the values of 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
, get
) 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 (described by the first argument of
execution_state/2
).
• Goal Tests | Tests Related to the Current Goal | |
• Source Tests | Tests Related to Source Information | |
• Port Tests | Tests Related to the Current Port | |
• Break Tests | Tests Related to the Break Level | |
• Other Tests | Other Conditions | |
• Action Conditions | Conditions Usable in the Action Part | |
• Past States | Options for Focusing on a Past State | |
• Condition Macros | Condition Macros | |
• Action Variables | The Action Variables |