I am currently working on some parallel code that seems to have several race conditions. I am trying to debug code using my current IDE, Eclipse, but I am not completely satisfied. In particular, there is a race condition for a variable, so without a breakpoint on one of the access methods to it (the one that "receives"), the method of setting the variable does not end, and the variable is null. However, if I set a breakpoint for the access method and hold F8 β the default transition button β the variable is almost always set to the correct (non-zero) value.
This leads me to ask the following: is it possible that Eclipse is not stopping execution at the breakpoint for all threads fast enough so that I can look at the potential race condition as it appears without a breakpoint, or something else (maybe)?
If this is the case that Eclipse does not pause execution quickly, are there any other IDEs / debuggers for Java that can better handle this? Please note that I am not looking for formal verification tools such as Java Pathfinder. I donβt want to check for race conditions, I want them to unfold in my debugger (if only because it would be interesting to see).
java debugging eclipse concurrency ide
Jan gorzny
source share