断点在我的环境中不起作用。
我在Eclipse中有一个GWT项目运行良好,但不是断点。 要运行我的项目,我执行Project>调试为>具有Jetty的GWT开发模式>代码编译>准备好后,然后在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"/>
由于
答案 0 :(得分:0)
让我们从GWT docu:
的这句话开始超级开发模式使用不同的方法替换开发模式的内部结构,在现代浏览器中效果更佳。与其前身(我将其称为经典开发模式)一样,超级开发模式允许GWT开发人员快速重新编译其代码并在浏览器中查看结果。它还允许开发人员使用调试器来检查正在运行的GWT应用程序。 然而,它的工作方式不同。
您没有指定是使用(旧)经典开发模式还是(新)超级开发模式。实际上我不知道GWT 2.8中是否有旧版本。
关于调试文档状态:
超级开发模式将整个GWT应用程序编译为JavaScript,类似于生产模式。 这意味着我们不能像经典开发模式那样使用普通的Java调试器。相反,我们将使用浏览器的调试器。(我建议现在使用Chrome。)
所以现在你基本上有两个选择:
<强>加成强>: 有一个github项目说明了#B; SDBG - 用于GWT SuperDevMode和#34的Eclipse调试器,但我没有尝试过it。
<强> * 1 强> 我对此声明并不是100%肯定,但我相信您始终可以调试gwt应用程序的服务器代码。
答案 1 :(得分:0)
我的配置GWT2.8.1,Eclipse Oxygen,SuperDevMode,带有chrome的SDBG,都是默认设置。 调试器不会因某些断点而停止,例如
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()后,断点起作用。但是与生产部署版本有什么关系?
答案 2 :(得分:0)
假设您熟悉SDM(SuperDevMode)和SBDG并正在使用它。
Java语句和JavaScript语句之间没有1:1的关系。因此,有时候,没有相关性,调试器在JavaScript中没有停止的行。
在这种情况下,您必须使用
answer: [empty]
语句用于启动断点。
希望有所帮助。