Вопрос отладки сервисного кода в GWT 2.1 - PullRequest
1 голос
/ 14 июня 2011

Недавно я попытался установить новые точки останова в eclipse для отладки кода на стороне службы в GWT.По какой-то причине затмение отказалось видеть точки останова или новые изменения кода, которые я сделал.В отладчике он откроет что-то, похожее на файл уха.Несмотря на то, что я удалил старые уши, скомпилировал и заново развернул новые файлы ушей.Мы используем GWT 2.1, JBoss 4.3, java 1.6 и Eclipse Helios.Наконец, когда я создал новую среду с кодом с нуля, он начал работать.Любые идеи относительно того, что держалось за старый код?Кстати, я перезагрузил свою машину и перезапустил затмение, но это также не имело никакого значения.Спасибо, Джеймс

Ответы [ 2 ]

1 голос
/ 15 июня 2011

Текущее состояние отладки приложений GWT ... ну, не очень хорошо.Иногда это невероятно медленно (режим разработки), иногда много мусора остается на веб-сервере.

Это может не решить вашу проблему напрямую, но вот несколько советов от меня:

  1. Написание новогокод клиента (/ client) в GWT означает обновление браузера
  2. Написание нового кода сервера означает «перезагрузка веб-сервера».У вас есть маленькая желтая кнопка «обновить» в Eclipse на вкладке «Режим разработки».Это должно отражать все изменения, сделанные на стороне сервера.
  3. Embedded Jetty обычно хорошо работает с отладкой GWT.Если вы не делаете что-то специфичное для jboss-сервера, оно также должно нормально работать на производственном сервере.Просто убедитесь, что ваши модульные тесты пройдены; -)
  4. Конечно, вы можете отладить приложение GWT на внешнем сервере, см. этот раздел документации (я полагаю, вы делаете на JBoss)
  5. Обязательно удалите все старые файлы при перезагрузке веб-сервера.Со мной случилось, что иногда были какие-то странные старые смешанные файлы (хотя я использовал Tomcat).Поэтому вы можете написать собственный чистый скрипт.
  6. Вы должны быть абсолютно уверены, что ваш самый серьезный код даже запущен!Используйте много GWT.log () на стороне клиента, чтобы убедиться в этом.Не волнуйтесь, GWT.log в производственном режиме не показывается.
  7. Обязательно проверяйте страницу на стороне клиента, иногда это помогает узнать, что ваш серверный код не удалось запустить.
  8. Регистрируйте каждые public void onFailure(final Throwable caught) { ваших AsyncCallbacks для получения дополнительной информации.
  9. Не используйте Google Chrome в режиме разработки.Это НАМНОГО медленнее, чем Firefox.

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

0 голосов
/ 23 июня 2011

Я думаю, что JBoss каким-то образом кэшировал вещи во временных файлах, а потом я забыл о добавлении исходного кода. Это может быть вещь JBoss, так как я не помню, чтобы видел это с другими серверами приложений раньше.

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

До этого я, по-видимому, сталкивался с точками останова в кэшированных файлах и не мог их изменить, устанавливая новые точки останова. Это была основная причина проблемы.Затем, добавив исходный код из уха, я синхронизировал отладчик с кодом, и он начал работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...