tomcat7 java远程调试Tomcat应用程序:为什么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()
并将结果记录到日志文件中,验证了命令行参数是否正在使用。
我通过工作站和服务器上的Wireshark验证了端口4711上的TCP请求是从我的pc发送到服务器上的,但没有应答。在服务器上运行netstat -a
不会显示进程正在侦听此端口。所以我假设Tomcat/JVM不会启动远程调试
# 1 楼答案
你需要把-Xdebug和-Xrunjdwp。。。在Tomcat服务配置面板的Java面板中的单独的行
因此:
不起作用,但:
威尔