【问题标题】:GWT Debugger loses controlGWT 调试器失去控制
【发布时间】:2013-07-31 18:10:51
【问题描述】:

我设法将 GWT 调试器链接到远程应用程序,但我认为我的配置有问题。

在参数中我指定了 -startupUrl 并且调试只适用于这个 URL。 一旦我移动到另一个页面(同一个应用程序),模块就会被卸载,我不再处于“调试”模式。 要调试应用程序的不同页面,我必须更改 -startupUrl 并重新启动 GWT 开发模式,但这会破坏正常流程。

有什么建议吗?

谢谢

【问题讨论】:

标签: debugging gwt remote-debugging


【解决方案1】:

调试您的应用程序,它需要在 DevMode 下运行(代码在 JVM 中作为 Java 运行,并通过您安装在那里的插件与浏览器通信)。

要在浏览器中触发 DevMode,URL 需要在查询字符串中包含 gwt.codesvr,其值为 DevMode 应用正在侦听的主机和端口。

-startupUrl 传递给 DevMode 只会更容易获得正确的 URL,因为 DevMode 会将适当的 gwt.codesvr 附加到 URL,您可以将生成的 URL 复制/粘贴到浏览器(或要求 DevMode直接在浏览器中打开该 URL)。

如果您有多个 HTML 主机页面并在它们之间移动,那么为了获得无缝体验,您必须将 URL 的 gwt.codesvr 部分传播到另一个页面。

有关 DevMode 的更多信息,请参阅 http://www.gwtproject.org/doc/latest/DevGuideCompilingAndDebugging.html#DevGuideDevMode(不幸的是,它忽略了有关如何通过 URL 中的 gwt.codesvr 触发 DevMode)

【讨论】:

  • 是的,我注意到导航应用程序时 gwt.codesrv 会丢失。但是如何在不修改代码的情况下传播它呢?
  • 你不能自动传播它没有改变你的代码。虽然使用!GWT.isScript()Window.Location.getParameter("gwt.codesvr"),可能还有Window.Location.createUrlBuilder(),但它相当容易。 (注意:gwt.codesvr 并不是真正要查找的唯一参数;如果您使用xsiframe 链接器,则可以使用gwt.codesvr.myModulemyModule 当然是您的模块的名称)。您可以在 StackOverflow 或 GWT Google Group 上找到示例代码。
  • 感谢托马斯的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 2014-05-03
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
相关资源
最近更新 更多