31

过去的场景
- 使用 Tomcat 并以调试模式启动并使用 Eclipse 进行远程调试。
- 在此调试/远程端口中定义一个端口并与 eclipse 连接。
- 用于调试其他主机/服务器中的服务器

今天的场景
现在,我正在使用Jetty,我也尝试这样做,但没有成功,有人可以帮我吗?
我没有使用 Maven,也不想从我的 Eclipse 内部启动 Jetty。

环境:
Windows XP
Java V. 5
Jetty V. 6.1.15

链接:
http://docs.codehaus.org/display/JETTY/Debugging
这对我没有帮助!
http://docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse
http://neelzone.wordpress.com/2007/06/18/jetty-and-eclipse-integration
这些都是Eclipse里面启动

4

4 回答 4

36

这是我们在开发时添加到 JBoss 命令行的内容:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n

然后我们启动eclipse远程调试并连接到这个端口。


更新:

要从 jar(独立)运行,请执行以下操作

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8585,server=y,suspend=n -jar start.jar 
于 2009-07-06T19:20:21.083 回答
18

对于远程调试,您应该使用JPDA这里有一篇关于它的教程文章。

简而言之,使用以下参数启动 JVM:

-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n

并且您可以通过标准的 Eclipse 调试器连接到在端口 8000 上侦听的底层 JVM。

于 2009-07-06T19:16:10.453 回答
15

如果您将使用mvn jetty:run一天,您必须

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

附加-Xdebug ...不起作用

于 2010-08-29T19:26:03.167 回答
0

在“start.jar”之前使用 JVM“agentlib”命令行参数对我不起作用,但这样做:

如何允许 Eclipse 在端口 8000 上远程调试 #Jetty (#JPDA #agentlib:jdwp)

您必须创建一个文件$JETTY_BASE/start.ini(不要更改$JETTY_HOME/start.ini)并将以下两行放入其中:

  • --执行
  • - agentlib:jdwp=transport=dt_socket,address=localhost:8000,server=y,suspend=n
于 2017-03-17T07:31:45.903 回答