如何远程调试在tomcat服务上运行的Web应用程序?

时间:2012-04-19 03:53:48

标签: java tomcat6

我在serverA的tomcat 6上有我的网络应用程序。我正在运行tomcat作为服务,即tomcat6w.exe位于<tomcat_home>/bin文件夹下。远程调试 weabbplication我已经在不同的博客/网站上添加了下面的行,这些博客/网站在不同的行中,在最后的空间。当应用程序在同一端口上运行时,提到端口为8443。

-Xdebug-Xrunjdwp:transport=dt_socket,address=8443,server=y,suspend=n

现在通过服务器B上的eclipse我提到主机为serverA和端口8443并单击debug。 2-3分钟后,它建立连接而不会出现任何错误。但现在 当我点击IE中的网络应用网址时,它没有显示,并说IE无法显示该网页。但是只要我删除上面提到的调试参数 并打到网址,应用程序正常。当tomcat作为窗口服务运行时,我不应该如何调试应用程序?

有关信息以下是双击tomcat服务时的参数

--   Under java tab 
--jvm section value  
 C:\Program Files\Java\jre6\bin\client\jvm.dll

--java classpath section value  
 C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\bootstrap.jar

--java options section value  
 -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0
 -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0
 -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\common endorsed
 -Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp
 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
 -Djava.util.logging.config.file=C:\Program Files\Apache Software 
  Foundation\Tomcat6.0\conf\logging.properties-XX:MaxPermSize=512M
 -Djavax.net.ssl.trustStore=c:/.keystore
 -Djavax.net.ssl.trustStorePassword=changeit-Xdebug 
 -Xrunjdwp:transport=dt_socket,address=8443,server=y,suspend=n  

--Under startup tab

--class section value  
org.apache.catalina.startup.Bootstrap

--workingpath section value  
 C:\Program Files\Apache Software Foundation\Tomcat 6.0

--arguments section value  
 start

--mode section value  
 jvm

3 个答案:

答案 0 :(得分:5)

在Java Options选项卡中添加以下内容。记得放

-Xdebug 

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8733

SEPARATE LINE

-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8733

答案 1 :(得分:1)

您可以使用 JvmOptions 参数传递JVM选项:

tomcat.exe //TS// ++JvmOptions -Xdebug;-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044

tomcat.exe //RS// ++JvmOptions -Xdebug;-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044

答案 2 :(得分:0)

当我需要远程调试部署在Tomcat上的应用程序时,我通常通过Catalina.bat脚本启动服务器,而不是Windows服务。实际上,要启用远程调试,您应该在执行catalina.bat脚本时提供JPDA参数:

  

catalina jpda start

如果您确实需要将服务器作为服务启动,则可以尝试编辑其定义,以便为其提供JPDA参数。

哟也可以停止你的Tomcat服务,只需通过执行catalina.bat脚本启动服务器。

希望这会有所帮助。