2

我想知道是否有一种方法可以逐步调试已编译的 GWT 代码,以确定某些事件是如何被触发的。

我对此感兴趣的是我正在使用 SmartGWT,并且由于某种原因,它们组件上的单击事件会传播到占据相同位置的弹出窗口。但是,这只发生在 Mobile Safari 中。

更有趣的是,它只发生在 smartGWT 版本的 onClick 上,而不是普通的 GWT onClick。

4

2 回答 2

1

现在主要是 hack,但我想它会起作用(尽管你必须重新编译你的应用程序):

  1. 首先,从主干编译一个最近的 GWT:https ://developers.google.com/web-toolkit/makinggwtbetter#workingoncode
  2. 然后在启用源映射的情况下重新编译您的应用程序:http ://code.google.com/p/google-web-toolkit/wiki/SourceMaps
  3. 按照此 wiki 页面评论中的步骤,以便能够在 Chrome 中使用 SourceMaps,然后重新部署您的应用程序
  4. 在 Dev 频道上获取 Chrome: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 中启用源映射,这样您就可以在 Web Inspector 中看到您的Java代码!

请参阅http://www.youtube.com/watch?v=-xJl22Kvgjg预览使用 GWT 进行调试的未来,这将在不久的将来以一种不那么骇人听闻的方式实现这种事情。

于 2012-04-05T10:09:23.840 回答
0

我不知道是否有调试编译的javascript GWT 代码的好方法,但为什么需要它呢?

出于描述的目的,最好使用带有调试选项的 GWT 开发模式。您可以将以下参数添加e-Xdebug -Xrunjdwp:transport=dt_socket,address={PORT},server=y,suspend=n到开发模式运行命令中,它会给客户端 GWT/SmardGWT 源代码添加断点的机会。然后为了调试,你应该从你的 java IDE 连接到参数中指定的端口。

调试 GWT https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging

于 2012-04-05T06:14:37.073 回答