When I have multiple threads hitting breakpoints, it's sometimes impossible to control which thread runs when you step over the code. When you step, it switches to another thread that is on a breakpoint and steps that instead. It seems to sometimes be possible to select the thread to step by the Frames or Threads tab, but it is unreliable. And sometimes the debugger rapidly oscillates (flickers) between threads on breakpoints so fast that it's unusable. This is IDEA 14.0.1 with suspend policy = Thread, not All. Let me explain how I expect it to behave: when a thread hits a breakpoint the debugger should switch context to that thread and show its stack and variables, even if you were looking at another thread on a breakpoint. It should be possible to switch context back to the original thread and resume stepping that. Either by selecting the thread in the Frames or Threads tab. The debugger should only switch to another stopped thread when you resume the thread (F9), or select another thread, or a new thread hits a breakpoint.
I had this problem with an earlier verison of IDEA (10?) and had a conversation with you guys at Jetbrains but I can't find a forum thread or Youtrack issue for it, so I think it must have been on email from a work email account I no longer have access to. IIRC it was fixed in a newer version of IDEA (11?) but seems to have reappeared in 14. There are these issues which describe it well:
Can anyone comment on whether this was fixed and has now regressed and whether you are aware of this issue?
Thanks a lot.