Intent Debugger dialog box

Provides an analysis operation to speed up the process of finding and fixing problems.

Access
Invokes with the special statement _debug.

Invokes the Intent Debugger capability when you encounter the instruction, debug_break.

  • In the Intent /bin directory, open MinHost.exe.
  • In the lower right pane, click, and enter the following:
    Rule debugHere As String
     _debug
    End Rule
  • Click OK. The (dynamic) rule is compiled and added to the root.

The Intent Debugger dialog box is modal. You cannot interact with any other aspects of the application until it is closed.

Top pane
The evaluation stack, which usually contains many evaluations, and the innermost evaluation is at the top. For each evaluation, it displays the context Part, Design of the context Part inside square brackets, and the name of the Rule being evaluated on that Part. The context Part is usually the same as the Part that “owns” the Rule. But, there are exceptions and tricks performed in the evaluator to evaluate a Rule in the context of some other Part.
Left pane
Displays the evaluator virtual machine instructions for the currently selected evaluation. The arrow points to the next instruction; the immediately previous one is debug_break, as expected.
Right pane
Displays the data stack, which usually contains many items. A push instruction adds items to the top (moving existing items down a row), and a pop removes them from the top. You cannot change data on the data stack.
Stop
Halts execution and returns control to the host.
Step In
Continues stepping into a subordinate evaluation. Subordinate evaluations appear higher in the evaluation stack. You can step into any instruction that creates another evaluation context, and is stepped from the beginning of its evaluation. Use this method to step through the leader instructions of a rule.
Step
Continues stepping at the same evaluation level. If any instructions create subordinate evaluations, they proceed normally until control returns to the same level.
Step Out
Stops stepping at the current evaluation level, but continues stepping at the next (caller) level.
Continue
Halts stepping, and continues evaluation. Stepping starts again only when a debug break instruction is evaluated.