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

Перемещение указателя инструкции при отладке Java в Eclipse

Можно ли перенести указатель команд напрямую в строку по моему выбору (в рамках текущего метода) при отладке Java-программы в Eclipse (Galileo)?

Прямо перетащить указатель инструкции на нужную строку в методе в Visual Studio, но я не вижу способа сделать это в Eclipse (и не нахожу ничего об этом в документах или в google).

4b9b3361

Ответ 1

Это невозможно.

Если вы просто хотите выполнить какой-либо код в текущем месте, вы можете использовать представление Expressions и ввести свой код в качестве выражения. Методы, вызванные оценкой выражения, будут выполняться в текущем контексте отладки.

Ответ 2

Это возможно...

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.jdt.doc.user/tips/jdt_tips.html

Отбросьте кадр. Когда вы переходите через свой код, вы можете иногда заходить слишком далеко или переходить через линию, на которую вы хотели бы войти. Вместо перезапуска сеанса отладки вы можете использовать Drop для Радиальное действие, чтобы быстро вернуться к началу метода. Выбрать фрейм стека, соответствующий Java-методу, который вы хотите перезапустить, и выберите "Drop to Frame" из панели инструментов "Отладка" или фрейма стека контекстное меню. Текущий указатель инструкции будет reset для первый исполняемый оператор в методе. Это работает для не-верхнего стека кадров.

Обратите внимание: Drop to frame доступен только при отладке с помощью 1.4 или более высокая виртуальная машина или виртуальная машина J9. Существуют ситуации, когда JVM может быть невозможно вытащить нужные кадры из стека. Например, это как правило, невозможно опуститься до нижнего кадра стека или любой кадр ниже собственного метода.

Ответ 3

Мне нравится ankon answer best, но другой вариант (который будет работать только для вашего конкретного экземпляра - если это так) - остановиться в точке останова на вашем if и изменить переменную (ы), оцененную в условном выражении так, чтобы он возвращает false (из представления "Переменные", щелкните правой кнопкой мыши на переменной и нажмите "Изменить значение..." )

Ответ 4

Я думал, что это было вполне возможно в более старых версиях eclipse, я думал, что у меня есть память об этом, но, я думаю, я просто имплантировал эту память, когда работал в Visual Studio. Из того, что я читаю, он может появиться в jvm, а не в самом затмении, есть страницы, где он предположил, что jvm не может справиться с этим.

По моему мнению, Eclipse во много раз лучше VS, я много работал в обоих, и с тех пор, как я обнаружил Eclipse, мне всегда было больно, когда мне приходилось работать в VS. Но не имея этой функции, определенно больно сейчас, хе-хе.

Ответ 5

Вы можете перейти непосредственно к любому вызову метода внутри текущего отлаживаемого метода. Выберите вызов метода ниже текущего указателя инструкции и используйте "" Шаг в выделение" из контекстного меню.

Ответ 6

к сожалению, невозможно выполнить шаг вперед с указателем инструкции (счетчик программ), поэтому вам нужно вместо этого ввести свои собственные "отладочные" переменные, на которые вы можете протестировать, - скажем, вы хотите сделать шаг вокруг цикла, который принимает слишком долго, затем добавьте переменную и проверьте ее увеличенное значение, а затем инкапсулируйте цикл в переменную if с этой переменной. Я знаю, что это уродливо, но это все делается - или вы могли бы просто развиваться в С++:-)

Ответ 7

Поместите курсор на выбранную вами линию и либо нажмите ctrl-R ( "Выполнить на линию" ), либо щелкните правой кнопкой мыши и выберите "Выполнить в линию" из контекстного меню.

Ответ 8

Просто щелкните правой кнопкой мыши по нужной строке и выберите run to line.That это...