2012-04-05 4 views
2

Интересно, есть ли способ выполнить пошаговую отладку скомпилированного кода GWT, чтобы определить, как запускаются некоторые события.GWT: debug events capture/bubbling

Интерес, который у меня есть к этому, заключается в том, что я использую SmartGWT, и по какой-то причине события click на их компонентах распространяются, чтобы всплывать окна, занимающие ту же позицию. Однако это происходит только в Mobile Safari.

Еще более интересно это происходит только с версией onClick от smartGWT, а не с обычным GWT onClick.

ответ

0

Я не знаю, есть ли хороший способ отладки скомпилированных javascript GWT-код, но зачем он нужен?

Для описанной цели лучше использовать режим разработки GWT с вариантами отладки. Вы можете добавить следующие параметры e-Xdebug -Xrunjdwp:transport=dt_socket,address={PORT},server=y,suspend=n в команду запуска режима разработки, это даст возможность добавить точки останова к исходному коду GWT/SmardGWT стороны cliend. Затем для отладки вы должны подключиться к порту, указанному в параметрах, из вашей Java-среды.

Отладка GWT https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

+2

За исключением, я полагаю, вам будет сложно найти плагин для браузера DevMode для Mobile Safari ;-) –

+0

О, извините, я просто пропустил это условие в вопросе. – hsestupin

1

В основном хак на данный момент, но я полагаю, что это будет работать (вам придется перекомпилировать ваше приложение, хотя):

  1. Во-первых, скомпилировать недавно GWT из ствола : https://developers.google.com/web-toolkit/makinggwtbetter#workingoncode
  2. затем пересобрать приложение с картами источников позволило: http://code.google.com/p/google-web-toolkit/wiki/SourceMaps
  3. Выполните действия, описанные в комментариях данной страницы, чтобы иметь возможность использовать SourceMaps в Chrome, а затем повторно развернуть приложение
  4. Получить Chrome на канале Dev: http://www.chromium.org/getting-involved/dev-channel
  5. Использование http://www.iwebinspector.com/ начать Mobile Safari с удаленной отладки, а затем подключиться к нему с рабочего стола Chrome: http://www.webkit.org/blog/1620/webkit-remote-debugging/
  6. Наконец, включите карты источников в Chrome, так что вы будете видеть ваши Java код в веб-инспекторе!

См http://www.youtube.com/watch?v=-xJl22Kvgjg для предварительного просмотра будущего отладки с помощью GWT, что позволит такого рода вещей в гораздо меньшей хаке пути в около будущего.

Смежные вопросы