【问题标题】:How to debug using superdev mode?如何使用 superdev 模式进行调试?
【发布时间】:2014-08-03 22:17:51
【问题描述】:

我正在尝试遵循 gwt 教程并使用 superdev 模式。我在 Chrome 浏览器中看到 java 源映射,可以放置断点,但是我试图添加到“watch expresion”窗口的所有内容都不起作用。所以我的问题是如何使用superdev模式进行调试?

我已经按照教程中的描述创建了项目

./webAppCreator -out MyWebApp com.mycompany.mywebapp.MyWebApp

然后运行

ant superdevmode

ant hosted

这是我在“开发者工具”窗口中看到的屏幕截图 如您所见 - 变量 closeButton 和 dialogBox 未定义

gwt 版本 - 2.6.1

Chrome 版本 - 36.0.1985.125 m

【问题讨论】:

    标签: java gwt gwt-super-dev-mode


    【解决方案1】:

    在 Source Maps 的当前状态下,您不能在原始语言(GWT 的情况下为 Java)中使用“监视表达式”;您必须使用已编译的 JavaScript 名称(您可以在 Scope Variables 中看到相同的名称)

    这是 Source Maps(和浏览器)的当前限制。它影响编译为 JS 的所有语言,而不仅仅是 GWT。

    【讨论】:

    • 最新的 GWT 2.8 Beta 或 GWT 3 是否仍然如此?我将 GWT 2.8 与 SuperDev 一起使用,变量需要附加额外的后缀。在 Eclipse 中,不可能知道生成的变量名称是什么,即使在使用 SDBG 时,变量也不是其原始形式。有什么可能的方法来改变这个吗?将 GWT 编译器设置为 PRETTY 会改善这一点吗?还没试过。谢谢!
    • 如上所述,它独立于 GWT 本身,它是 Source Maps 的限制(如果/当规范发展时,工具将不得不实施它,这需要一些时间)。也就是说,使用-style PRETTY 可能会有所帮助。
    • 实验似乎在 CodeServer 中设置 -noincremental 参数(没有 -style PRETTY)解决了这个问题。我可以看到具有原始名称的变量。不确定设置此参数有什么缺点。
    • 谢谢。 -noincremental 参数建议可以很好地查看 java 变量。
    • 如何设置这个-noincremental 参数?
    猜你喜欢
    • 2017-08-04
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2012-06-27
    • 2023-03-14
    • 2014-09-17
    • 1970-01-01
    相关资源
    最近更新 更多