繁体   English   中英

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

[英]How to remotely debug the webapplication running on tomcat service?

我在serverA的tomcat 6上有我的Web应用程序。 我运行的是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点击web应用程序的url时,它没有显示并说IE无法显示网页。 但是,一旦我删除了上述调试参数并点击了url,应用程序就可以正常工作了。 当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

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

-Xdebug 

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

分隔线上

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

您可以使用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

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

卡塔利娜jpda开始

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

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

希望能对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM