I have lots of problems with breakpoints when I try to debug my workflows in Community Edition. Sometimes they work, sometimes they doesn’t and my program fly over them. I have to put message boxes near this activities to stop the workflow. I can’t catch any regularity in it.
Does anybody have the same problem? Am I doing something wrong or is there a bug with breakpoints?
There’s definitely some inconsistency with breakpoints.
It seems, at least from my experience, that there’s a correlation to execution speed, workflow separation (more invokes → higher chance of a breakpoint slipping through) and either activity nesting depth (higher depth → less reliability).
One of my coworkers noticed that in a “jumpy” workflow, disabling Highlight Activities and/or Log Activities improved reliability of breakpoints. While we didn’t come to any meaningful conclusion, it seems that the debugger has troubles handling complexity , but that seems to be related to WF itself, not UiPath specific.
Two things to mention here:
- Breakpoints will only break after the execution of the activity has started (e.g. after the MessageBox was executed) but before its execution ends.
- One reason for breakpoints being ignored is a miss-match between how the workflow looks at design time and how it looks at runtime. What will surely work is, before executing and before setting the breakpoints to reload the workflow (close and open it). This should be done before running the workflow, without editing.
That sounds bizarre - assuming the workflow is saved, there shouldn’t be any differences at all, or am I missing something?
Well, a breakpoint is set at a certain location and an ID is associated with it. The id is calculated based on the position of the activity in the workflow tree. If you modify the workflow you basically impact the ID of the activity, but the mapping of the breakpoints migh not get updated. This will cause some missmatch between the ID of the breakpoint and the one of the activity.
I am getting confused with first point mentioned by you. I am getting 2 types of different scenario as follow
In terms of MessageBox Activity flow breaks after displaying message. So I can say the Activity on which I am applying Breakpoint completes all its activity & stops before closing, if I am not wrong.
Now consider the situation where I am having if-else condition in Sequence with MessageBox inside. I am applying Breakpoint on if-else inside now. If I will apply the same logic as above here, the if-else should verify condition, Display message as accordingly and then it should Stop.
But in second condition it stops before entering into the if-else. So, I am getting really confused on how BreakPoint works actually. Can you please elaborate how it is working?