Как сломать отлаживаемую программу сейчас, когда она работает в Eclipse? - PullRequest
4 голосов
/ 23 апреля 2011

Как сломать (приостановить) Java-программу в Eclipse?

Я не говорю о контрольных точках. Я говорю о случайной приостановке программы, не зная, что она в данный момент выполняет, как в Visual Studio.

Ответы [ 2 ]

5 голосов
/ 23 апреля 2011

Если вы запустили программу в режиме отладки, вы можете вручную переключиться на перспективу отладки.

Оттуда, на панели отладки (которая обычно показывает вам потоки и расположение стека), нажмите кнопку паузы(которая выглядит как желтая кнопка паузы видеомагнитофона).

Требуется запуск кода с помощью средства запуска отладки, поскольку он инициализирует JVM с аргументами для включения JDI (или интерфейса отладки Java).Этот интерфейс можно маршрутизировать через сети, что позволяет выполнять удаленную отладку на встроенных устройствах.

В сценарии Eclipse программа Eclipse связывается с дочерним процессом JVM через JDI при отладке, что позволяет приостановить, шаги вообще проследить свой путь через программу.

- Хорошо, у вас возникли проблемы с ее поиском, я дам вам все с точки зрения "главного меню" ---

Run->Debug (or F11)
Window->Open Perspective->Debug
Run->Suspend

Если вам нужен лучший способ остановить только «основной» поток, выберите (в окне отладки в левом верхнем углу экрана) «Thread [main]» перед приостановкой.В противном случае вы остановите все потоки в JVM.

1 голос
/ 23 апреля 2011

Запустите программу в конфигурации отладки (ну, не обязательно), перейдите в представление отладки и там просто выберите поток, который вы хотите приостановить, и нажмите приостановить.

Это сработает очень хорошо, хотя, если быть точным, я думаю, что оно все равно будет только останавливаться в контрольных точках (хотя это вряд ли имеет значение, поскольку их в любом случае более чем достаточно)

...