I am using Intellij 9.0.3 under Windows XP and have actually been experiencing the same breakpoint issue since Intellij 7 and various versions of JDK. I've looked online and surprisingly couldn't find any discussion on this issue. So maybe I am missing something here?
The issue is that when I have multiple threads running in parallel on a normal J2SE program, only the breakpoints on the currently selected thread (the thread I am stepping through) will pause the program execution. On the other threads, the debugger never stops the execution at any breakpoints.
However, if I am not stepping through the code when the execution hits the breakpoint on the other thread (for example, if I resume the current thread at the line I spawn the other threads), then the debugger will work as expected and stop at the breakpoints on the other threads.
Based on the the observation described above, does it mean the Intellij debugger will not be able to pause more than 1 thread at any single time? In Eclipse, the debugger will pause multiple threads. I am able to switch back and forth different threads and step through the code on the selected thread while having the other threads paused there. Is Intellij capable doing the same thing? This seems to be something really basic, I tend to believe I am missing something here, rather than thinking it as a bug or an unsupported feature. Can anybody help me out on this?
P.S. I've set the "Suspend policy" to all on the BreakPoint menu, so I believe this is not a setting issue.