远程调试Jetty(没有mvn,没有插件)

时间:2009-07-06 19:08:34

标签: eclipse debugging jetty remote-debugging

过去的情况   - 使用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 个答案:

答案 0 :(得分:35)

这是我们在开发时添加到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 

答案 1 :(得分:18)

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

简而言之,使用参数

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

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

答案 2 :(得分:15)

如果你有一天会使用 mvn jetty:run ,你必须

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

追加-Xdebug ...不起作用

答案 3 :(得分:0)

使用JVM&#34; agentlib&#34;命令行参数&#34; start.jar&#34;不适合我,但这样做:

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

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

  • - EXEC
  • - 的 agentlib:JDWP =运输= dt_socket,地址=本地主机:8000,服务器= Y,暂停= N