GWT 调试器失去控制
Posted
技术标签:
【中文标题】GWT 调试器失去控制【英文标题】:GWT Debugger loses control 【发布时间】:2013-07-31 18:10:51 【问题描述】:我设法将 GWT 调试器链接到远程应用程序,但我认为我的配置有问题。
在参数中我指定了 -startupUrl 并且调试只适用于这个 URL。 一旦我移动到另一个页面(同一个应用程序),模块就会被卸载,我不再处于“调试”模式。 要调试应用程序的不同页面,我必须更改 -startupUrl 并重新启动 GWT 开发模式,但这会破坏正常流程。
有什么建议吗?
谢谢
【问题讨论】:
“搬到另一个区域”是什么意思?以及“移动到另一个区域”后的启动网址和网址如何? “另一个区域”是指不同的页面。例如,如果我的 startupUrl 是 ext_host:1234/appName/page1.html,我可以调试此页面。如果这个页面指向另一个页面,在接下来的页面中我将无法调试。当我在第一页时,URL 类似于 ext_host:1234/appName/page1.html?gwt.codesrv=172.25.1.12:9997 但对于以下内容,它将是 ext_host:1234/appName/page2.html 为什么投反对票?一年后? 【参考方案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.myModule
,myModule
当然是您的模块的名称)。您可以在 *** 或 GWT Google Group 上找到示例代码。
感谢托马斯的帮助以上是关于GWT 调试器失去控制的主要内容,如果未能解决你的问题,请参考以下文章