it-roy-ru.com

Как отлаживать код Java при использовании скрипта ANT в Eclipse

У меня есть класс Java, и мне нужно отладить его (поставить точки останова и продолжить использовать F6). Я использую скрипт ANT для инициализации, сборки, развертывания и запуска кода. Я использую:

<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" debuglevel="lines,vars,source">

..........

</javac>

Но когда я помещаю точку останова в строку в своем классе foo.Java и запускаю сценарий ant (часть выполнения, щелчок правой кнопкой мыши на run -> Debug As -> Ant Build), Eclipse не останавливается на этой строке код.

Что я пропускаю ?!

40
zengr

В задачу <Java> ant необходимо добавить два параметра jvm (<jvmarg> IIRC), чтобы включить отладку: 

 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5432

Это запустит Java-программу с включенной отладкой, и программа будет готова принимать отладочные соединения через порт 5432. Затем вы должны использовать средство удаленной отладки IDE и направить его для подключения к порту 5432.

30
jkff

(Не смог прокомментировать данный ответ, поэтому должен был сделать еще один ответ)

Я понял, что при запуске Ant из Eclipse вам необходимо добавить fork = "true" в задачу <Java>. Кроме того, сначала мне было непонятно, как писать вложенные jvmargs, поэтому приведу пример:

<Java classname="..." fork="true">
  <jvmarg value="-Xdebug" />
  <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" />
  ...
</Java>
49
Samuel Lampa

В Затмении:

Toolbar > External Tool Configurations... > (select your existing ANT build or create new) > JRE tab

В "В.М. Аргументы" добавить:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y

Снова Toolbar > Debug > Debug Configurations... > Remote Java Application > New

Name: Debug Ant
Project: <Select your project where debug files are kept>
Host: localhost
Port: 8787

Теперь в "External Tool Configurations" запустите "ANT Task" (которая ожидает подключения отладчика удаленного Java-приложения), затем запустите "Debug Ant" из "Debug "значок на панели инструментов.

3
KrishPrabakar

Вот как я получил это работает для меня (Просто комментируя для дальнейшего использования).

3
Mehdi
set ANT_OPTS=%ANT_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432

в затмении

Toolbar >> Run >> Debug Configurations >> + >> 

Дайте значения:

Name: Debug_Ant
Project: active-Eclipse-project
Host:localhost
Port:5432
2
abeym

Это поможет людям, которые задаются вопросом, как отлаживать веб-приложение, использующее ant для сборки и развертывания. Это довольно часто в старых приложениях. Если проект был запущен как «Динамический веб-проект» в качестве начала, следующие шаги и даже Ant не нужны. 

Установите точку останова в вашем коде.

Window -> Show View -> Others -> Servers

Например, добавьте свой сервер JBoss или Tomcat.

Щелкните правой кнопкой мыши на сервере и выберите «Отладка».

Убедитесь, что в файле сборки ant задано debug = "true".

2
zawhtut

Шаги:

1) Сконфигурируйте удаленный отладчик Java с локальным хостом в качестве имени, адрес порта как 8000 (или каким бы ни был адрес порта вашей системы)

2) Создайте пакетный файл и сохраните его в папке bin вашего Tomcat (этот шаг необходим, когда мы хотим отладить удаленно, сохраняя серверы в одной системе).

в командном файле вы должны сохранить эту строку: 

установить JPDA_ADDRESS = 8000

установить JPDA_TRANSPORT = dt_socket

catalina.bat jpda начало

после этого сохраняйте точку останова в своем коде Java и отлаживайте этот удаленный отладчик. это будет работать.

Счастливого кодирования !!

1
Soumya Sarkar

Я тоже столкнулся с этой проблемой, я сделал следующие шаги, чтобы решить.

  1. Поместите следующие строки в файл ANT

  2. Перейдите к настройкам отладки-> Удаленное Java-приложение-> Создайте новый файл конфигурации с именем проекта, порт = 5432, и Host is localhost, и сохраните его.

  3. Теперь запустите ваш build.xml, используя режим отладки, затем вы увидите в консоли, что «Прослушивание транспорта dt_socket по адресу 5432»

  4. Теперь запустите файл конфигурации отладки, который вы настроили. Теперь ваш код Selenium будет работать в режиме отладки.

Надеюсь это поможет.

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

Спасибо

0
user2346563