如何使用Eclipse调试Web应用程序?

时间:2012-12-30 20:17:22

标签: eclipse debugging google-app-engine gwt web-applications

我想调试我的大学伙伴的web应用程序,因为我正在开发它将与Web应用程序交互的android应用程序。

我正在使用“debug”透视图和使用ororid或普通的Java应用程序我没有问题..但是使用Web应用程序我无法调试..我在调试透视图中放置了breackpoints和“debug as web application” ......但它不起作用......

这是我的控制台

初始化App Engine服务器

30-dic-2012 20.06.21 com.google.apphosting.utils.jetty.JettyLogger info
INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
30-dic-2012 20.06.33 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFO: Successfully processed C:\Users\alfo888_ibg\workspace\TablePlus\war\WEB-INF/appengine-web.xml
30-dic-2012 20.06.34 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed C:\Users\alfo888_ibg\workspace\TablePlus\war\WEB-INF/web.xml
30-dic-2012 20.06.44 com.google.apphosting.utils.jetty.JettyLogger info
INFO: jetty-6.1.x
30-dic-2012 20.06.48 com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized: 
    Type: High Replication
    Storage: C:\Users\alfo888_ibg\workspace\TablePlus\war\WEB-INF\appengine-generated\local_db.bin
30-dic-2012 20.06.49 com.google.appengine.api.datastore.dev.LocalDatastoreService load
INFO: Time to load datastore: 297 ms
30-dic-2012 20.06.53 com.google.apphosting.utils.jetty.JettyLogger info
INFO: Started SelectChannelConnector@0.0.0.0:8888
30-dic-2012 20.06.53 com.google.appengine.tools.development.DevAppServerImpl start
INFO: The server is running at localhost:8888
30-dic-2012 20.06.53 com.google.appengine.tools.development.DevAppServerImpl start
INFO: The admin console is running at localhost:8888/_ah/admin

4 个答案:

答案 0 :(得分:1)

Altough我没有使用过appengine。

要本地调试gwt应用程序,请执行以下步骤

  1. mvn gwt:debug(or use the IDE tools to start your application in debug mode
  2. 右键单击您的项目,选择Debug as - >调试配置......
  3. 创建一个新的java远程web应用程序作为示例:

    enter image description here

    现在应该达到你的断点。

答案 1 :(得分:1)

上述解决方案看起来不错,但还需要通过JPDA端口从调试器连接到服务器(例如,通过下面的端口4000上的运行时参数设置它)。

例如..在Tomcat或Jetty上运行Web应用程序之前,需要设置java opts:

如果您通过控制台运行Web应用程序,则可以执行以下操作:

set JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"

如果您在Tomcat上运行应用程序,那么您可以在tomcat配置中使用“Java”选项卡的这些指令。 (见下图)

Java选项:

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

enter image description here

然后从IDE中运行调试器以在端口4000上调试目标VM。(如下面的屏幕截图所示)

enter image description here

此页面详细介绍了如何操作:

http://www.eclipsezone.com/eclipse/forums/t53459.html

答案 2 :(得分:0)

您应该使用调试标志启动Web应用程序。在Tomcat中,您必须设置标志jpda并重新启动。在Jetty应该是类似的。

答案 3 :(得分:0)

问题一直是discussed,新版本的appengine-maven-plugin 1.7.5-SNAPSHOT刚刚发布,允许设置参数以便远程调试应用程序。

antony解释了如何做到here