2009-05-15 6 views
1

Мы разрабатываем веб-приложение с Rational Application Developer 7.5 (на основе Eclipse 3.4) для WebSphere Application Server 6.1. При проверке stacktraces на промежуточном сервере номера строк всегда указывают на начало методов, а не на фактическую строку. В локальной среде разработки (у каждого разработчика есть свой локальный запуск Websphere 6.1) все кажется идеальным.Номера строк в точке StackTrace для начала метода

В настройках Eclipse в Java> Компилятор> раздел Classfile Generation все проверено.

Развертывание осуществляется путем создания EAR-файла с использованием целевой цели RAD earExport Ant (а не основной задачи ear). Затем он переупаковывается, чтобы удалить ненужные файлы. Никакая явная компиляция не запускается - используются классы из рабочей области.

Как это может случиться, что эти сведения теряются? Является ли эта часть некоторой оптимизации Hotspot? Если да, может ли он быть отключен?

И как я могу вернуть правильные номера строк?

ответ

3

Какова ваша промежуточная платформа? У меня есть клиент, для которого промежуточная среда - это iSeries, и только до тех пор, пока они не обновили ОС iSeries до одного из более новых уровней, номера линий отладки, наконец, начали выстраиваться в линию.

+0

Хм, это действительно может быть точка. Стадия действительно версия iSeries V5R4M0. Я проверю форумы developerworks. Спасибо до сих пор (+1). – rudolfson

+0

Да, JVM iSeries - это уникальный зверь, который работает совсем не так, как обычный JVM. Я уверен, вы заметили, как медленно первый пробег. Клиент, с которым я консультировался, в конечном итоге решил переместить сервер приложений на AIX-бокс, солома, которая сломала спину верблюда, была когда мы обнаружили ошибку в реализации JVM iSeries. Мы долго говорили с IBM о Java и iSeries и о будущем. Суть в том, что WebSphere используется в iSeries, который обычно используется для пакетов (JD Edwards), если вы выполняете индивидуальную разработку, вы ступаете туда, куда мало. Удачи! :) – RefuX