2015-12-14 2 views
1

Я пытаюсь удаленной отладки Tomcat веб-приложения, которые работают в Linux я начал с кота:Tomcat 8 работает на Linux с удаленного подключения отладки ESTABLISHED из Eclipse, но точка останова не останавливает

JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8111,server=y,suspend=n" 

в catalina.sh:

... 
... 
... 
     # ----------------------------------------------------------------------------- 

    # OS specific support. $var _must_ be set to either true or false. 
    cygwin=false 
    darwin=false 
    os400=false 
    case "`uname`" in 
    CYGWIN*) cygwin=true;; 
    Darwin*) darwin=true;; 
    OS400*) os400=true;; 
    esac 

    JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8111,server=y,suspend=n" 

    # resolve links - $0 may be a softlink 
    PRG="$0" 

    while [ -h "$PRG" ]; do 
     ls=`ls -ld "$PRG"` 
     link=`expr "$ls" : '.*-> \(.*\)$'` 
     if expr "$link" : '/.*' > /dev/null; then 
     PRG="$link" 
     else 
     PRG=`dirname "$PRG"`/"$link" 
     fi 
    done 
... 
... 
... 

, а затем я начать с кота:

Tomcat/bin > catalina.sh jpda start 

когда я делаю netstat -a | Grep 8111 я получаю:

tcp  0  0 *:8111      *:*       LISTEN 

В окнах, им с помощью затмение версии: Mars.1 (4.5.1) я настроил удаленный отлаживать enter image description here

нажимается отладки, и я вижу соединение, установленное как сервер и в окнах затмить так:

enter image description here

и в сервере Linux, когда я делать NETSTAT -a | Grep 8111 я вижу:

tcp  0  0 linux:8111    my.pc.ip.66:62285   ESTABLISHED 

я установил, выделяют изломы в затмении, источник не один и тот же , но нет точки останова сутулых ... это ошибка?

ответ

1

Последний скриншот является гарантией того, что вы подключили свой Tomcat. Чтобы останавливаться на любой из ваших контрольных точек, вам нужно использовать код, на который вы установили точку останова. Обычно используется только ваше приложение.

Eclipse иногда не может установить точку останова по какой-либо причине. Когда он успешно его установит, на контрольной точке появляется маленький тик, сигнализирующий, что он активен.

enter image description here

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

enter image description here

Убедитесь, что ваши точки останова являются активными. Если нет, убедитесь, что ваша конфигурация проекта (та, которую вы использовали для настройки конфигурации отладки) соответствует WAR, развернутой в Tomcat.

Если это не сработает, у вас могут быть разные параметры компиляции, используемые для создания приложения, развернутого в Tomcat, например без номеров строк. Попробуйте установить контрольную точку по методу, а не по инструкции. Если это работает, добавьте опции отладки на этапе компиляции в своей сборке, чтобы номера строк также были включены. Это позволит вам установить точки останова на линиях.

+0

Спасибо, в моем tomcat это без этого «тика», код тот же с обеих сторон. может быть, есть некоторая конфигурация tomcat, которую я пропустил? также, когда источники не являются тем же самым затмением, бросают некоторый массаж ошибок – user63898

+0

из моего опыта, когда источники не то же самое, что и затмение, бросают некоторый массаж ошибок.и в этом случае ошибка не имеет Thrown – user63898

+0

Что происходит, когда вы приостанавливаете какой-то поток? Можете ли вы видеть источники при нажатии на трассировку стека? –