【问题标题】:GWT + Eclipse : Breakpoints do not workGWT + Eclipse:断点不起作用
【发布时间】:2017-10-26 13:40:19
【问题描述】:

断点在我的环境中不起作用。

我在 Eclipse 中有一个运行良好的 GWT 项目,但没有断点。 要运行我的项目,我执行 Project > Debug as > GWT Development Mode with Jetty > code compiles > 准备就绪后,然后在 Firefox 浏览器中打开我的页面 > 我的屏幕

页面上出现开发,我点击触发服务器端方法的按钮,它通过该方法但没有在断点处停止

我的配置: Eclipse Mars.2 发布 (4.5.2) GWT SDK 2.8.2 JRE 1.8.0_144

尝试 #1: 我尝试将以下标签放入我的 gwt.html 文件中,但没有成功:

  <add-linker name="xsiframe"/>
  <set-configuration-property name="devModeRedirectEnabled" value="true"/>

谢谢

【问题讨论】:

  • 你需要在浏览器中使用源映射和调试你的应用程序,这是我前段时间写的一个教程:g-widgets.com/2017/06/29/…

标签: eclipse gwt


【解决方案1】:

让我们从 GWT docu 的这句话开始:

超级开发模式开发模式的内部结构替换为在现代浏览器中效果更好的不同方法。与其前身(我将其称为经典开发模式)一样,超级开发模式允许 GWT 开发人员快速重新编译他们的代码并在浏览器中查看结果。它还允许开发人员使用调试器来检查正在运行的 GWT 应用程序。 但是,它的工作方式不同。

您没有指定您使用的是(旧)经典开发模式还是(新)超级开发模式。其实我不知道 GWT 2.8 中是否有旧版本。

关于调试文档状态:

超级开发模式将整个 GWT 应用程序编译为 JavaScript,类似于生产模式。 这意味着我们不能像在经典开发模式中那样使用普通的 Java 调试器。相反,我们将使用浏览器的调试器。(我现在建议使用 Chrome。)

所以现在你基本上有两个选择:

  1. 在超级开发模式下在浏览器中/使用浏览器调试 JavaScript (!) 代码
  2. 在特定版本的浏览器中使用 Eclipse 调试 Java 代码(我们使用的是 FF ESR 版本),它仍然支持 GWT 开发插件。如果没有插件,您将无法调试客户端代码*1

奖励: 有一个 github 项目,上面写着“SDBG - GWT SuperDevMode 的 Eclipse 调试器”,但我没有尝试过 it

*1 我不是 100% 确定这个说法,但我相信您始终可以调试 gwt 应用程序的服务器代码。

【讨论】:

    【解决方案2】:

    我的配置GWT2.8.1、Eclipse Oxygen、SuperDevMode、SDBG with chrome,都是默认设置。 调试器不会停止像

    这样的断点
        final Button sendButton = new Button("Send to Svr");
        final TextBox nameField = new TextBox();
        nameField.setText("GWT User");
        final Label errorLabel = new Label();
    

    但断点适用于类似的代码

            public void onClick(ClickEvent event) {
                sendNameToServer();
            }
    

    在 onMoudleLoad 之后添加 GWT.debugger() 后,断点工作。但是与生产部署版本有什么关系?

    【讨论】:

      【解决方案3】:

      假设您熟悉 SDM (SuperDevMode) 和 SBDG 并正在使用它。

      Java 语句和 JavaScript 语句之间没有 1:1 的关系。因此,有时,没有相关性,并且调试器在 JavaScript 中没有要停止的行。

      在这种情况下,您必须使用

      GWT.debugger();

      在代码中声明以启动断点。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2014-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-25
        • 1970-01-01
        • 2019-05-23
        • 2012-03-18
        • 1970-01-01
        相关资源
        最近更新 更多