1

我想调试我大学同学的 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
4

4 回答 4

1

尽管我没有使用过 appengine。

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

  1. mvn gwt:debug(或使用 IDE 工具以调试模式启动应用程序
  2. 右键单击您的项目,选择调试为 -> 调试配置...

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

在此处输入图像描述

现在应该达到您的断点。

于 2012-12-30T21:13:55.943 回答
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

在此处输入图像描述

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

在此处输入图像描述

此页面向您详细展示了如何执行此操作:

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

于 2012-12-30T21:19:12.180 回答
0

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

于 2012-12-31T00:49:00.907 回答
0

这个问题已经详细讨论过了,新版本的appengine-maven-plugin 1.7.5-SNAPSHOT 刚刚发布,它允许设置参数以远程调试应用程序。

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

于 2013-01-04T20:43:00.200 回答