为什么在调试模式下启动GET时,我的断点不会中断

时间:2009-06-06 22:10:47

标签: eclipse gwt

我正在使用Eclipse 3.4.2和最新的GWT。 IDE甚至不会自动切换到Debug Perspective。

10 个答案:

答案 0 :(得分:4)

我在讨论我的问题的小组中找到了一个不同的主题。

http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/a9b553a6df5da5b8/65298c48c32deac0?lnk=raot&pli=1

基本上,JDK 1.6.0_14在eclipse调试模式下不能与GWT一起使用。切换不同的JDK将起作用。

答案 1 :(得分:3)

您是否在hosted mode

中启动了GWT应用程序
  

您将花费大部分开发时间在托管模式中运行应用程序,这意味着您正在与GWT应用程序进行交互,而不会将其转换为JavaScript
  无论何时从Java集成开发环境(IDE)编辑,运行和调试应用程序,您都在托管模式下工作   当应用程序在托管模式下运行时, Java虚拟机(JVM)实际上将应用程序代码作为已编译的Java字节码执行,使用GWT管道来自动化嵌入式浏览器窗口。   这意味着IDE的调试工具可用于调试客户端GWT代码和任何服务器端Java代码。


  

提示:如果您正在使用Eclipse,则还可以在使用-eclipse标志创建具有applicationCreator的新项目时创建启动配置文件。

     

如果您没有使用applicationCreator创建特定于应用程序的托管模式shell脚本,则可以在com.google.gwt.dev.GWTShell中找到gwt-dev-windows.jar找到的主类(取决于您的操作系统) },gwt-dev-linux.jargwt-dev-mac.jar

     

重要提示:如果您没有使用生成的<module>-shell脚本,请注意,在托管模式下,GWT开发shell使用JVM的类路径查找模块(以及客户端源)。确保首先在类路径中添加源目录。


另见Debug in Hosted Mode

alt text http://google-web-toolkit-doc-1-5.googlecode.com/svn/wiki/StockWatcherDebug1.png

答案 2 :(得分:2)

现在,似乎不再支持GWT经典开发模式,或者至少not recommended。它被GWT super dev模式取代,后者在Javascript中运行代码,而不是在JVM上运行。这意味着您调试in your browser而不是Eclipse。例如,我在Chrome中访问了我的网站,打开了开发人员工具,切换到了sources选项卡,然后查看了sourcemaps文件夹下的所有Java类。我可以在那里放置断点,浏览器将在Javascript等效项运行时停止。我可以检查大致匹配我的Java变量的Javascript变量。

如果您真的更喜欢在Eclipse中进行调试,可以使用Super Dev Mode Debugger Eclipse plugin,但它与Chrome调试器的功能相同。当我试用它时,我不得不观看视频以使其正常工作。

答案 3 :(得分:1)

我正在运行1.6.0_13但仍然无法进行调试。它只是没有达到断点。 此外,页面在托管模式下显示为空白(HTML文件中的静态内容除外),但在浏览器上运行时,所有内容都显示并正常工作。

  

java -version
  java版“1.6.0_13”
  Java(TM)SE运行时环境(版本1.6.0_13-b03)

答案 4 :(得分:1)

我遇到了同样的问题。在我的情况下,问题是我使用 JRE 而不是 JDK 。设置 JDK 而不是 JRE ,解决了我的问题。我建议查看构建配置以查看正在使用的构建配置。

答案 5 :(得分:0)

我想确认一下,基本上,JDK 1.6.0_14在eclipse调试模式下不能与GWT一起使用。切换不同的JDK将起作用。

我安装了JDK 1.6.0_13并启动了eclipse调试透视图。 使用eclipse 3.3.2

感谢您的提示!

答案 6 :(得分:0)

同时确认调试器不适用于1.6.0_14。降级至1.6.0_13解决了我的问题。 Farinha,即使你已经安装了1.6.0_13,你是否仍然可以将java_home(或类似的东西)指向1.6.0_14的安装?

答案 7 :(得分:0)

升级到jdk1.6.0_17 - 工作正常

答案 8 :(得分:0)

在我的情况下改变JDK并没有帮助,但我终于发现了什么是错的。

当从GWT 1.7移动到2.0时,旧的GWT类将继续保持战争输出。必须手动删除它们才能启动2.0。

答案 9 :(得分:0)

我也在关注StockWatcher网站上的GWT指南,然后进入教程的Debugging部分,我可以获取我的断点触发,直到我偶然发现SDBG插件。我安装了插件并按照视频进行操作!

我的环境:

  • Eclipse Neon.1a版本(4.6.1)
  • JDK 1.7.0_80
  • GWT SDK 2.7.0

附加说明:

确保进行调试配置并使用com.google.gwt.dev.DevMode作为您的主类。