Подтвердить что ты не робот

Как остановить другие потоки во время фокуса при отладке в Eclipse?

Я отлаживаю серверный процесс, запущенный в Eclipse 3.4.1. Есть 20 нитей или около того, просыпаясь с разным интервалом после сна.

Я устанавливаю точку останова в одном методе на один поток, а Eclipse останавливается там правильно. Поток расширяется трассировкой стека в представлении "Отладка", и я могу использовать различные кнопки для перехода. Это все, что я ожидаю.

Моя проблема заключается в том, что кажется, что когда другой бегущий поток просыпается, когда я перехожу, он крадет фокус в представлении Debug. Мой приостановленный поток больше не выбран или не расширен (у него есть + рядом с ним), и все кнопки отключены. Я должен нажать на приостановленный поток, чтобы продолжить отладку.

Кто-нибудь видел это раньше и знал какие-либо обходные пути или настройки, которые я мог бы изменить?

4b9b3361

Ответ 1

Если вышеизложенное не помогает, вы всегда можете отключить все свои точки останова после отладки, где вы хотите быть.

В окне Точки останова: Ctrl-A, щелкните правой кнопкой мыши → Отключить

Ответ 2

Вы можете приостановить всю виртуальную машину Java не только исполняемый поток, чтобы избавиться от проблем с фокусом.

Выберите точку останова в режиме точек останова и выберите "Приостановить виртуальную машину" вместо "Приостановить поток". В разделе "Настройки- > Java- > Debug вы можете сделать" Приостановить виртуальную машину "по умолчанию.

Ответ 3

У меня была такая же проблема при отладке приложений Play! Framework 2. Что, по-видимому, наконец-то решило, это отключить Java → Monitors в контекстном меню панели просмотра отладки/потока.

Ответ 4

Можете ли вы использовать параметр, чтобы остановить все потоки в точке останова?

Ответ 5

Не уверен, что это сработает (у вас нет установки Eclipse для подтверждения), но есть опция отладки, которую вы могли бы попробовать.

В Запуск/Отладка в настройках есть опция, называемая (что-то вроде) Активировать представление отладки при достижении точки останова. Если вы снимете этот параметр, Eclipse не переместит фокус на представление отладки. Это может также остановить отдельные потоки, крадущие фокус.