В настоящее время я работаю над неким параллельным кодом, в котором может быть несколько условий гонки.Я пытаюсь отладить код, используя мою текущую IDE, Eclipse, но я не полностью удовлетворен.В частности, для переменной присутствует условие состязания, так что без точки останова в одном из методов, обращающихся к ней (в «получающем» ее), метод установки переменной не завершается, и переменная устанавливается в ноль.Однако, если я поставлю точку останова на метод доступа и удержу F8 - кнопку перехода по умолчанию - переменная почти всегда будет установлена на правильное (ненулевое) значение.
Это выводит меняспросить следующее: возможно ли, что Eclipse не приостанавливает выполнение на точке останова во всех потоках достаточно быстро, чтобы я мог посмотреть на потенциальное состояние гонки, когда оно появляется без точки останова, или происходит что-то еще (вероятно)?
Если Eclipse не приостанавливает выполнение быстро, существуют ли другие IDE / отладчики для Java, которые могут справиться с этой задачей лучше?Обратите внимание, что я не ищу формальные средства проверки, такие как Java Pathfinder - я не хочу проверять наличие условий гонки, я хочу видеть их разворачивание в моем отладчике (хотя бы потому, что было бы интересно посмотреть).