如何调试gwt app服务器端代码?

时间:2012-02-02 20:12:43

标签: gwt maven jetty

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

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

我不知道这是什么意思?有人可以帮帮我吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

如果您使用其他IDE,则必须自行了解如何使用远程调试。它到处都是一样的。