Почему при запуске GWT в режиме отладки мои точки разрыва не ломаются

Я использую Eclipse 3.4.2 с последним GWT. Средство IDE даже не переключается на Debug Perspective автоматически.

Ответы

Ответ 2

Запускаете ли вы приложение GWT в режим размещения?

Вы потратите большую часть своего времени разработки на свое приложение в режиме размещения, что означает, что вы взаимодействуете с вашим приложением GWT без его перевода в JavaScript.
В любое время, когда вы редактируете, запускаете и отлаживаете приложения из интегрированной среды разработки Java (IDE), вы работаете в режиме размещения.
Когда приложение работает в режиме размещения, виртуальная машина Java (JVM) фактически выполняет код приложения как скомпилированный байт-код Java, используя GWT-сантехнику для автоматизации встроенного окна браузера.
Это означает, что средства отладки вашей среды IDE доступны для отладки как вашего кода GWT на стороне клиента, так и любого кода Java на стороне сервера.


Совет. Если вы используете Eclipse, вы можете создать файл конфигурации запуска при создании нового проекта с помощью applicationCreator с помощью флага -eclipse.

Если вы не использовали applicationCreator для создания оболочки хоста с поддержкой приложения script, вы можете вручную запустить основной класс в найденном com.google.gwt.dev.GWTShell (в зависимости от вашей ОС) в gwt-dev-windows.jar, gwt-dev-linux.jar, или gwt-dev-mac.jar.

Важно: если вы не используете сгенерированный <module>-shell script, имейте в виду, что в режиме размещения среда разработки GWT ищет модули (и, следовательно, источник на стороне клиента), используя путь класса JVM. Обязательно сначала добавьте исходные каталоги в свой путь к классам.


См. также Отладка в хостинговом режиме

alt text http://google-web-toolkit-doc-1-5.googlecode.com/svn/wiki/StockWatcherDebug1.png

Ответ 3

В наши дни кажется, что режим классического детектора GWT больше не поддерживается, или, по крайней мере, не рекомендуется. Он был заменен режимом супервызов GWT, который запускает ваш код в Javascript, а не на JVM. Это означает, что вы отлаживаете в своем браузере, а не в Eclipse. Например, я посетил мой сайт в Chrome, открыл инструменты для разработчиков, переключился на вкладку sources, а затем просмотрел папку sourcemaps, чтобы найти все мои Java-классы. Я могу установить там точки останова, и браузер остановится, когда работает Javascript-эквивалент. Я могу проверить переменные Javascript, которые примерно соответствуют моим переменным Java.

Если вы действительно предпочитаете отладку в Eclipse, вы можете использовать Super Dev Mode Debugger Eclipse плагин, но он делает то же самое, что и Chrome отладчик. Когда я попробовал это, мне пришлось посмотреть видео, чтобы заставить его работать.

Ответ 4

Я запускаю 1.6.0_13, но отладка не работает. Он просто не попадает в точки останова. Более того, страница отображается пустым в режиме размещения (за исключением статического содержимого в файле HTML), но все отображается и работает корректно при работе в браузере.

java -version
java-версия "1.6.0_13"
Java (TM) SE Runtime Environment (сборка 1.6.0_13-b03)

Ответ 5

У меня была та же проблема. В моем случае проблема заключалась в том, что я использовал JRE вместо JDK. Установка JDK вместо JRE, решила мою проблему. Я рекомендую просмотреть конфигурацию сборки, чтобы увидеть, какой из них используется.

Ответ 6

Я хочу подтвердить, что в принципе JDK 1.6.0_14 не будет работать с GWT в режиме отладки eclipse. Переключение другого JDK будет работать.

Я установил JDK 1.6.0_13 и запустил перспективу отладки eclipse. Использование eclipse 3.3.2

Спасибо за подсказку!

Ответ 7

Также подтверждая, что отладчик не работает с 1.6.0_14. Снижение до 1.6.0_13 решило мою проблему. Farinha, возможно, у вас все еще есть java_home (или что-то подобное), указывающее на установку 1.6.0_14, даже если вы установили 1.6.0_13?

Ответ 8

Модернизирован до jdk1.6.0_17 - работает нормально

Ответ 9

Изменение JDK в моем случае не помогло, но я, наконец, узнал, что неправильно.

При переходе с GWT 1.7 до 2.0 старые классы GWT останутся на военном фронте. Они должны быть удалены вручную, чтобы выполнить команду 2.0.

Ответ 10

Я также следил за руководство StockWatcher на GWT, а затем добрался до Отладка в части урока, и я мог не получить мои контрольные точки для запуска, пока я не наткнулся на плагин SDBG. Я установил плагин и пошел за видео, и он сработает!

Моя среда:

  • Eclipse Neon.1a Release (4.6.1)
  • JDK 1.7.0_80
  • GWT SDK 2.7.0

Дополнительные примечания:

Обязательно создайте конфигурацию Отладка и используйте com.google.gwt.dev.DevMode в качестве основного класса.