An FDBG event can (currently) belong to one of the two following major classes:
These events are intercepted by the FDBG core. When any of them occurs, the appropriate visualizer (see FDBG Visualizers) gets called with a representation of the event (a Prolog term) as extra arguments.
Note that it is not possible to debug indexicals with
FDBG. What's more, any domain narrowings done by indexicals happen
unnoticed, making FDBG output harder to follow. On the other hand,
arithmetical constraints (like X #> 0
) are translated to global
constraints instead of indexicals after consulting
library(fdbg)
, and therefore don't lead to any misunderstandings.
For this latter reason it is advisable to load
library(fdbg)
before any user programs.