【问题标题】:How to debug GWT如何调试 GWT
【发布时间】:2013-06-25 10:16:14
【问题描述】:

我是 GWT 开发的新手,我只是在修改一个之前运行良好的 GWT 项目,

在 eclipse 开发环境下,它运行良好,直到服务器端需要一个上下文参数,该参数应该在 servelt 为 initcontent() 时启动。

因此,我必须编译项目,然后打包它们并将它们部署到独立的 jboss 上。 现在 jboss 下不行了。

如果它是一个常见的 Web 应用程序,我倾向于在网页中添加“window.alert("")”,并跟踪错误发生的位置以及上下文是什么, 但是,在 gwt 中,我不知道该怎么做,我添加了 gwt 的 Window.alert(),它不起作用, 我尝试从firebug那里获得帮助,但我只是找到了一些由gwt生成的无名函数,我不知道java中哪些对象与这些名称协调?

能否请一些老练的人告诉我一些关于它们的经验?


实际上,在我的 Gwt 代码中,我需要向 Web 服务请求 REST 请求,当我在 dev 模块中调试 GWT 时,客户端部分运行良好(即那些用 GWT 编写的代码),但服务器端错误 - - 开发模块没有执行 servlet initcontext() - 我的网络服务器需要它。

因此,我不得不将我的整个项目部署到一个独立的 jboss,现在,我被卡住了,我不知道哪里错了。 也许另一个想法是让我的客户端请求“远程”服务器(现在它的请求看起来像连接到本地) 我担心如果这个想法失败了,即我的代码在开发模块中很好,并且在产品模块中存在错误,我如何在我的 gwt 代码中添加一些像 window.alert() 这样的代码来帮助我调试。 谢谢你们教我如何在eclipse中调试GWT,我更想知道如何通过插入js代码来调试它。

【问题讨论】:

    标签: gwt


    【解决方案1】:

    从 GWT 2.8 开始,在开发环境中运行 GWT 应用程序的主要方式是使用“超级开发模式”或“代码服务器”。此模式编译代码并在浏览器中运行 JS 代码。 2.8 之前的旧版本具有“开发模式”,它使用浏览器插件与在开发模式下运行 webapp 的 JVM 进行通信。

    对于 GWT 2.8,您希望使用浏览器中的开发工具或像 https://sdbg.github.io/ 这样的 IDE 插件(仅适用于 chrome - afaik),它允许您在 eclipse 中进行大部分调试。


    老答案

    在 Eclipse 中右键单击项目,然后进入“调试为”>“Web 应用程序”。

    这样您就可以像调试任何其他 Java 应用程序一样调试您的 GWT 应用程序。

    如果您需要有关如何在 Eclipse 中使用 Java 调试功能的更多信息,您可能需要查看此处http://www.vogella.com/articles/EclipseDebugging/article.html

    祝你好运

    【讨论】:

    • 您无法调试视图类,因为它们被编译为 javascript。因此,在这样的类中设置断点不会产生任何结果,只会被忽略。
    • @Javix 那时有与浏览器插件一起使用的“DevMode”。在那里,您甚至可以直接使用 eclipse 调试视图代码,因为代码在 eclipse/jvm 中运行并告诉浏览器如何处理该插件。现在使用 gwt superdev 模式,您可以使用浏览器开发工具或例如sdbg.github.io调试ui代码
    • 感谢您的反馈和 Eclipse 插件的链接。我会看看。我们正在使用 IntelliJ,因为由于一些奇怪的设置问题,无法在 Eclipse 中启动同一个项目。
    • 我用我的评论的新信息更新了答案。
    • 超级开发模式是否允许调试客户端代码?我在客户端设置断点,但都没有触发。是否必须做一些事情才能让我单步执行此代码?
    【解决方案2】:

    您需要在代码上设置断点并单击“调试”下拉菜单,然后单击“GWT 应用程序”。 (在某些情况下,您的应用程序名称也会显示在下拉列表中。您可以单击它。)

    【讨论】:

      【解决方案3】:

      您可以使用已部署的服务器端代码(您也可以远程调试,但这是另一回事)从已部署的服务器以 DevMode 运行客户端代码:http://www.gwtproject.org/doc/latest/DevGuideCompilingAndDebugging.html#How_do_I_use_my_own_server_in_development_mode_instead_of_GWT%27s

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-03
        • 2016-07-25
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-20
        相关资源
        最近更新 更多