2013-05-17 17 views
6

Я бегу Jetty из командной строки с:Debug Gradle jettyRun в IntelliJ

export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n" 

gradle jettyRun 

и посмотреть:

Listening for transport dt_socket at address: 9999 

... затем в IntelliJ Idea (Ultimate 12.1.3) я создаю новая конфигурация удаленной отладки со всеми по умолчанию, изменяя только порт для 9999.

Когда я начинаю (отладки) с помощью удаленной конфигурации, я вижу:

Connected to the target VM, address: 'localhost:9999', transport: 'socket' 

... что заставляет меня думать, что все работает так, как ожидалось.

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

Что я делаю неправильно?

Спасибо.

+0

Одна теория заключается в том, что я могу сказать * Gradle *, а не * Jetty *, чтобы открыть порт отладки. И, глядя на документацию JettyRun, не может быть никакого способа сделать это. http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.jetty.JettyRun.html#org.gradle.api.plugins.jetty.JettyRun:jettyConfig ... глядя в решение, используя плагин Cargo. Однако, глядя на плагин tomcat, то, что я делаю, выглядит правильно: https://github.com/bmuschko/gradle-tomcat-plugin –

+0

Ваше решение работает для меня. Я использую gradle 1.5. Ваше решение выше, то же самое с http://stackoverflow.com/questions/9315398/how-to-run-jetty-via-gradle-in-debug-mode. – ceilfors

+0

, если вы видите Подключен к целевой виртуальной машине, адрес: «localhost: 9999», транспорт: «socket» , что означает, что вы подключены. Я добавлю system.out, чтобы исключить, что вы не вызываете точки останова. –

ответ

0

В IntelliJ (по крайней мере, на 12.1.5) вы можете просто пойти в JetGradle, щелкнуть правой кнопкой мыши по jettyRun и затем нажать «Отладка».

+0

Прошу прокомментировать, почему вы понизили рейтинг ... – eduardohl

+0

Я редко опускаюсь, но у меня есть сильное желание сделать это тоже. «вы можете просто пойти в JetGradle» ... Действительно? И как? Вы видите, что JetGradle обсуждался или даже упоминался? – Gangnus

+0

Хорошая точка. Наверное, я установил плагин и не заметил. Я думаю, что этого даже не существует ... – eduardohl

5

У вас может быть переменная "org.gradle.jvmargs", установленная в файле gradle.properties. Это приводит к разветвлению JVM, что означает, что вы больше не отлаживаете правильный процесс.

В этом случае вы не можете установить «org.gradle.jvmargs» или передать ему параметры отладки, например.

org.gradle.jvmargs = -XX: MaxPermSize = 128m -Xdebug -Xrunjdwp: транспорт = транспорт по сокетам, сервер = у, подвесьте = у, адрес = 1233

Настройка параметров отладки в орг .gradle.jvmargs будет сконфигурировать разветвленный процесс для отладки.

+0

У меня был java_opts, установленный в gradle.properties, и, конечно же, JVM также был разветвлен. Добавление org.gradle.jvmargs исправило это. –

Смежные вопросы