java远程调试Tomcat app:为什么JVM不能监听?
我想远程调试在Tomcat 7中运行的应用程序.Tomcat作为Win2008服务器上的服务运行。 我将以下内容添加到Tomcat的Java配置面板中的Java选项: -Xdebug -Xrunjdwp:transport=dt_socket,address=4711,server=y,suspend=n
并在我的工作站和此端口的服务器上打开防火墙。 但是当我尝试在我的工作站上从IntelliJ 9进行调试时,我收到一条错误消息Unable to open debugger port : java.net.ConnectException "Connection timed out: connect"
。 jvm是备用的Sun / Oracle 64位JVM版本1.6.0_27。
我通过访问部署到Tomcat的应用程序中的ManagementFactory.getRuntimeMXBean().getInputArguments()
并将结果记录到日志文件来validation命令行参数正在使用中。 我通过Wireshark在我的工作站和服务器上validation了端口4711上的TCP请求是从我的电脑发送到服务器的,但是没有答案。 在服务器上运行netstat -a
不会显示侦听此端口的进程。 所以我假设Tomcat / JVM不会启动远程调试。
您需要将-Xdebug和-Xrunjdwp …放在Tomcat服务配置面板的Java面板中的不同行上。
所以:
-Xdebug -Xrunjdwp:transport=dt_socket,address=4711,server=y,suspend=n
不会起作用,但是:
-Xdebug -Xrunjdwp:transport=dt_socket,address=4711,server=y,suspend=n
将。