【问题标题】:how to debug gwt app server side code?如何调试 gwt 应用服务器端代码?
【发布时间】:2012-02-02 20:12:42
【问题描述】:

我有一个带有 maven-jetty 插件的 maven gwt 应用程序,我尝试使用 'mvn jetty:run-war' 和 'mvn gwt:debug' 调试代码,它以 gwt 开发模式启动应用程序,所以我可以调试客户端代码而不是服务器端,我如何调试客户端和服务器端代码?我试过'mvnDebug jetty:run-exploded',它说:

Preparing to Execute Maven in Debug Mode
Listening for transport dt_socket at address: 8000

然后我打开一个浏览器指向 localhost:8000,没有加载任何内容,在终端中它吐出消息:

Debugger failed to attach: handshake failed - received >GET / HTTP/1.1< - excepted >JDWP-Handshake<
Debugger failed to attach: handshake failed - received >GET / HTTP/1.1< - excepted >JDWP-Handshake<
Debugger failed to attach: timeout during handshake

我不知道这是什么意思?谁能帮帮我?

【问题讨论】:

    标签: gwt maven jetty


    【解决方案1】:

    在您列出的情况下,端口 8000 是您的 远程调试器 将连接到您的远程实例的端口,您不能查看应用程序。 GUI 本身很可能在 8080 或 8888 上可用,但这取决于 Jetty 中的配置或您是否在托管模式下运行。

    您需要将远程调试器连接到 Jetty,例如 Eclipse 或 NetBeans,无论您的 IDE 是什么。

    http://docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse http://www.vijaykiran.com/2009/05/12/debugging-maven-jetty-web-application-in-netbeans/

    使用托管模式也可能会有所帮助: http://code.google.com/webtoolkit/doc/1.6/FAQ_DebuggingAndCompiling.html#How_do_I_use_my_own_server_in_hosted_mode_instead_of_GWT

    更高级: http://www.vogella.de/articles/EclipseDebugging/article.html

    【讨论】:

    • 终于搞定了,基本只需运行'mvnDebug jetty:run-war -P\!build-rpm'(我使用mac,rpm不会在mac上工作),然后在eclipse中配置一个远程调试器到服务器端的 8000 端口;在另一个终端运行 'mvn -P\!build-rpm gwt:debug',返回 eclipse 配置另一个远程调试器到客户端的 8021 端口,最后在打开浏览器指向索引页面时,它点击了侧面代码马上。由于我们的 pom 配置,gwt 开发模式不启动任何服务器(jetty 或 tomcat),我们必须专门启动 jetty。
    【解决方案2】:

    在您的 IDE 中,您必须在从 maven 启动调试后创建远程调试。在 Eclipse 中,您可以通过转到 Debug Configuration 并创建新的 Remote Java Application 配置来执行此操作。然后只需在浏览器中刷新您的应用页面并开始调试。

    如果您使用其他 IDE,您必须自己了解如何使用远程调试。到处都差不多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 2010-09-25
      • 1970-01-01
      相关资源
      最近更新 更多