Ответ 1
Если вышеизложенное не помогает, вы всегда можете отключить все свои точки останова после отладки, где вы хотите быть.
В окне Точки останова: Ctrl-A, щелкните правой кнопкой мыши → Отключить
Я отлаживаю серверный процесс, запущенный в Eclipse 3.4.1. Есть 20 нитей или около того, просыпаясь с разным интервалом после сна.
Я устанавливаю точку останова в одном методе на один поток, а Eclipse останавливается там правильно. Поток расширяется трассировкой стека в представлении "Отладка", и я могу использовать различные кнопки для перехода. Это все, что я ожидаю.
Моя проблема заключается в том, что кажется, что когда другой бегущий поток просыпается, когда я перехожу, он крадет фокус в представлении Debug. Мой приостановленный поток больше не выбран или не расширен (у него есть + рядом с ним), и все кнопки отключены. Я должен нажать на приостановленный поток, чтобы продолжить отладку.
Кто-нибудь видел это раньше и знал какие-либо обходные пути или настройки, которые я мог бы изменить?
Если вышеизложенное не помогает, вы всегда можете отключить все свои точки останова после отладки, где вы хотите быть.
В окне Точки останова: Ctrl-A, щелкните правой кнопкой мыши → Отключить
Вы можете приостановить всю виртуальную машину Java не только исполняемый поток, чтобы избавиться от проблем с фокусом.
Выберите точку останова в режиме точек останова и выберите "Приостановить виртуальную машину" вместо "Приостановить поток". В разделе "Настройки- > Java- > Debug вы можете сделать" Приостановить виртуальную машину "по умолчанию.
У меня была такая же проблема при отладке приложений Play! Framework 2. Что, по-видимому, наконец-то решило, это отключить Java → Monitors в контекстном меню панели просмотра отладки/потока.
Можете ли вы использовать параметр, чтобы остановить все потоки в точке останова?
Не уверен, что это сработает (у вас нет установки Eclipse для подтверждения), но есть опция отладки, которую вы могли бы попробовать.
В Запуск/Отладка в настройках есть опция, называемая (что-то вроде) Активировать представление отладки при достижении точки останова. Если вы снимете этот параметр, Eclipse не переместит фокус на представление отладки. Это может также остановить отдельные потоки, крадущие фокус.