Very limiting indeed, though it's unlikely to change ; from the manual :
Unfortunately due to the architecture of the Construct 2 engine, breakpoints cannot be placed in the following locations:
- Anywhere inside a triggered event, including any sub-events to a triggered event
- Anywhere inside a looping event (such as Repeat or For each), including any sub-events to a looping event
In other words, only non-looping events which are checked every tick can have breakpoints set on them, or be stepped in to."
Something to consider for C3
As for performance, it is expected with any tool or language that debugging will impact performance negatively ; simply due to the overhead of the debugging itself.