使用 Tomcat 在 Eclipse 中调试远程应用程序

Debugging remote application in Eclipse using Tomcat

我正在尝试在 Tomcat 服务器上 运行 的 Eclipse 中调试远程 Java 应用程序。根据我的调试设置,我将 运行ning 设置为两个错误之一。我没有使用任何代理或 VPN,所有代码都在我自己的机器上 运行。

我无法显示很多代码,但我可以准确描述我采取的步骤:

首先,我修改了位于Tomcat的bin目录下的startup.bat中的代码:

call "%EXECUTABLE%" start %CMD_LINE_ARGS% 改为 call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%

就在这一行的上方,我添加了以下 JVM 参数。我不知道它们应该是什么参数,也不知道这是否是放置它们的正确位置,但我只是按照一个例子:

set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

在 Eclipse 上,这是我对服务器的端口配置:

Tomcat Admin port: 8005
HTTP/1.1: 8080
SSL: 8443
AJP/1.3: 8009

确保服务器 运行ning 没有错误后,我打开 运行->调试配置->远程 Java 应用程序并设置这些参数,然后点击调试:

Host:localhost
Port:8000

这样做会导致 "connection refused" 错误。当我把debug配置里的端口号改成8080或者8005,然后启动就等了20秒,然后returns一个"connection timeout"错误。当我将超时增加到 3 分钟时,启动会等待 3 分钟,然后 returns 出现 "connection timeout" 错误。在 JVM 设置中更改 "address" 似乎没有任何区别,无论它设置为 8005 还是 8080。

你对我可以尝试研究的事情有什么建议吗? 谢谢, 内森

我认为您不必修改开箱即用的任何内容。 如果你想在调试模式下启动 tomcat 然后从 bin 文件夹 运行 "./catalina.sh jpda start" if 运行ning in mac or linux or 运行 "catalina jpda start",

这将在调试模式下启动 tomcat,然后您可以尝试将调试器连接到端口 8000。