◷ Reading Time: 3 minutes
Breakpoints and the most essential requirement of reliable debugging. Breakpoints indicate where FlexRule Designer should suspend your logic so you can take a look at parameters and values.
When a breakpoint is not defined, in the debug mode, FlexRule Designer will suspend on every step of execution and you have the control to Step in or Step over.
But in complex solutions, when it involves many different steps and linked documents, Breakpoints will help you to run logic and suspend it at the right place for inspecting a behavior.
In FlexRule Designer you can:
- Add breakpoints
- Disable breakpoints temporarily
- Remove breakpoints
- Manage breakpoints using Breakpoint Screen
Let’s say you have the Flow model below and you need to investigate some values right after the loop, on the node called SubFlow2:
By right-clicking on a node of the Flow, a context menu appears, and you can see an “Add a Breakpoint” option from the menu:
Once selected, a red pin appears on the node:
To manage the Breakpoints, you can go to the menu
View --> Windows --> Breakpoints and it will appear at the bottom of the FlexRule Designer:
This window allows you to:
- Enable/disable breakpoints
- Remove all the breakpoints
Now when you Debug the mode, the execution continues without any need for your interaction until it reaches the breakpoint. In this example (SubFlow2):
In the above example, if you didn’t have the Breakpoint and started debugging, you would have had to click Debug->Next Step all the way through until you reached the point where you needed to be. That becomes much harder if, for example, you have a loop of many (e.g., thousands of items before you reach where you need to be).
While debugging, if you select menu Debug->Next Breakpoint or from the toolbar:
Execution continues until it reaches the next breakpoint or the run is finished.
Breakpoints are supported across different documents:
- Decision Requirements Diagram (DRD)
- Information Requirement Diagram (IRD)
- Flow (i.e., Generic flow and Workflow)