2009-07-06 1 views
29

Past сценарий
- Работа с Tomcat и начать в режиме отладки и Remote Debug с Eclipse.
- Определите порт и подключитесь к eclipse в этом отладочном/удаленном порту.
- Используется для отладки серверов в других хостов/серверовУдаленная отладка Jetty (нет МВН, нет плагинов)

Сегодня сценарий
Теперь я использую Jetty и я пытаюсь сделать то же самое, но без успеха, может кто-нибудь помогите-мне с этим?
Я не использовал Maven и не хотел запускать Jetty внутри моего Eclipse.

Окружающая среда:
Windows XP
Java V. 5
Jetty В. 6.1.15

Ссылки:
HTTP: // docs.codehaus.org/display/JETTY/Отладка
Это не помогло мне!
HTTP: // docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse
HTTP: // neelzone.wordpress.com/2007/06/18/jetty-and-eclipse-integration
Это должно начаться внутри Eclipse

ответ

34

Это то, что мы добавляем к нашей командной строке JBoss во время разработки:

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

Затем мы запустим затмение удаленной отладки и подключение к этому порту.


Update:

Для запуска из кувшина (автономный) сделайте следующее

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8585,server=y,suspend=n -jar start.jar 
+2

Просто незначительный nitpick: этот синтаксис предназначен для пре-1.5 JVM, более новые используют параметр -agentlib: jdwp. – andri

+2

Эй, Дэвид, спасибо за ваш ответ, работает для меня. Я использую команду fallow для запуска своего Jetty: java -Xdebug -Xrunjdwp: transport = dt_socket, address = 8585, server = y, suspend = n -jar start.jar Спасибо! –

+0

Я знаю, но он работает ... –

18

Для удаленной отладки вы должны использовать JPDA. Там есть своего рода учебная статья об этом here.

Короче говоря, начните JVM с аргументом:

-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n

и вы можете подключиться к основной JVM на порту 8000 через стандартный отладчик Eclipse.

+3

При отладке операции запуска сервера, не забудьте set suspend = y –

15

Если вы будете использовать МВНЫ причала: запустить один день, вы должны

export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n" 

добавления -Xdebug ... не работает

0

Использование виртуальной машины Java «agentlib» параметр командной строки, прежде чем «start.jar» не работает для меня, но это делает:

Как разрешить Eclipse, удаленно отлаживать #Jetty (#JPDA #agentlib: JDWP) на порт 8000

Вы должны создать файл, $ JETTY_BASE/start.ini (не меняют $ JETTY_HOME/start.ini) и поставить следующие два в нем:

  • --exec
  • - agentlib: JDWP = транспорт = транспорт по сокетам, адрес = локальный: 8000, сервер = у, приостановить = п