【问题标题】:How can I debug Web Application with Eclipse?如何使用 Eclipse 调试 Web 应用程序?
【发布时间】:2012-12-15 04:20:56
【问题描述】:

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

我正在使用“调试”透视图,并且使用 andorid 或普通 Java 应用程序我没有问题..但是使用 Web 应用程序我无法调试..我在调试透视图中放置了断点和“调试为 Web 应用程序” ...但它不起作用...

这是我的控制台

正在初始化 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

【问题讨论】:

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


    【解决方案1】:

    虽然我没有使用过 appengine。

    要本地调试 gwt 应用程序,我执行以下过程

    1. mvn gwt:debug (or use the IDE tools to start your application in debug mode)
    2. 右键单击您的项目选择调试为 -> 调试配置...

    创建一个新的 java 远程 web 应用程序为例:

    现在你的断点应该到达了。

    【讨论】:

      【解决方案2】:

      上述解决方案看起来不错,但还需要通过 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
      

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

      此页面向您展示了更详细的操作方法:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          安东尼解释了如何做到这一点here

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-06-11
            • 2012-08-04
            • 2015-09-29
            • 2012-01-26
            • 2013-02-20
            • 1970-01-01
            • 2014-11-22
            相关资源
            最近更新 更多