Почему Eclipse пропускает строки при отладке JBoss?

Я пытаюсь отладить вызов веб-службы, который использует JMS в фоновом режиме. У меня JBoss работает в режиме отладки. Что происходит, так это то, что когда я нажимаю F6 в Eclipse (для выполнения текущей строки), он пропускает определенные строки. У меня есть этот метод:

@Override
    public void log(MsgPayload payload) {

    1   Date startTime = new Date();
        logger.info("Publishing with BufferedPublisher.java start time:"+startTime);
    3   publisher.send(payload);
        Date endTime = new Date();
        logger.info("Publishing with BufferedPublisher.java end time:"+endTime);
        long mills = endTime.getTime()-endTime.getTime();
        double secs = mills/1000.0;
        logger.info("Publishing with BufferedPublisher.java total time (seconds):"+secs);
    }

Так что же происходит? У меня есть точка останова в строке 1. Когда я нажимаю F6, она пропускает эту строку и переходит к строке 3. Когда я снова нажимаю F6, она переходит в конец метода. Половина кода никогда не выполняется..??? Мой вопрос, почему. Я предполагаю, что мой источник плохо связан с реальным кодом, который выполняется. Но как мне это изменить?

Спасибо.


person azec-pdx    schedule 03.06.2010    source источник


Ответы (3)


Часто это происходит, когда исходный код, который вы просматриваете с помощью отладчика, отличается от той версии кода, которую на самом деле выполняет приложение. Потенциально предыдущая версия имела код в строках 1 и 3 и пробел (или комментарий) в строке 2 и никакого другого кода. Убедитесь, что у вас развернут самый последний код (и ваш отладчик настроен так, чтобы он указывал на самый последний источник), и посмотрите, происходит ли это по-прежнему.

person nojo    schedule 03.06.2010
comment
Ну, и что, если я все еще сталкиваюсь с этой проблемой, хотя я трижды проверил, что у меня есть соответствие jar и sources.jar? Я пытаюсь пройти через пакет Spring MVC v3.0.5, развернутый на Tomcat6, если это имеет значение. - person Ihor Kaharlichenko; 23.02.2011

Я только что решил подобную проблему. У меня были некоторые внешние банки в моем пути сборки Java, которые были плохо настроены. Я исправил это, почистил и пересобрал проект. После этого все работало просто отлично.

person temuchin    schedule 27.11.2012

Я запускаю MyEclipse 9.1, и моя проблема была решена путем изменения файла .classpath, который находится прямо в каталоге имени проекта. Я не знаю, как он изменился, но он отправлял горячие развертывания в цель.

Как только код был изменен для развертывания в WEB-INF/классах, строки отладчика синхронизировались, и все заработало хорошо.

person mkajdos    schedule 01.04.2014