有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    你需要把-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
    

    威尔