关于tomcat的远程调试

最近做项目开发发现,在本地运行好好的项目发布到测试服务器既然不好使了,很是郁闷,周围的大神们就给了一条明路:远程调试

查看了网上例子太多了,好像自己真的不会使用,就查了一些简单的资料发现其实很简单

下面是我自己使用过程:

首先既然远程调试肯定你得保证本地和服务器上代码一致(不一致的话真的会串行的),给调试再来很大麻烦

再次呢这是正题 打开tomcat下的bin目录  你会发现主要的有两类文件并且还是成对出现的sh后缀的和bat后缀的(这里主要关注这两类文件:bat是window环境下执行的,sh是linux下执行的文件,所以呢你要是修改最好成对的修改,远程调试也不例外,就是修改这里的文件)

在说明一点,start.bat 或者start.sh  这俩个文件只是一个导火索,实质你的看catalina.bat或者catalina.sh

下面找找里面的代码看看,打开你的catalina.bat 文件 :很明显的逻辑判断,还有这么明显的goto

if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
set JPDA_TRANSPORT=dt_socket
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=8000
:gotJpdaAddress
if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
set JPDA_SUSPEND=n
:gotJpdaSuspend
if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
:gotJpdaOpts
shift
:noJpda

没有jpda 就走正常的启动,否则呢,那当然就是jpda了(jpda好像就是远程调试这个意思)

不行再打开catalina.sh也是有相似的代码的,既然找到了根源,那就得在导火索上加点装饰不就是走jpda了

在打开start.bat  找到最后一行 你会发现有个start :

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%  红色部位没有吧  填上就好了。

到此应该对于tomcat的配置基本上结束了,有疑问了,正常启动我是有端口的(看到上边这个8000了,就是他),还有这个set JPDA_TRANSPORT=dt_socket  好像不用变也行,连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。

好了,现在启动tomcat 你就会发现启动日志中首先看到打出了正在监听8000 就这样启动了

下面就是myEclipse的操作了:我怎么没法截图呢,推荐个地址吧http://blog.sina.com.cn/s/blog_4e11d20b01016491.html,看这个吧

时间: 2024-12-11 18:37:08

关于tomcat的远程调试的相关文章

tomcat开发远程调试端口以及利用eclipse进行远程调试

一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 Linux系统 在catalina.sh里:  CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compile

tomcat开启远程调试

tomcat开启远程调试模式: 需要在启动脚本中的 JAVA_OPTS='-server -Xms1024m -Xmx1024m -Xmn384m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=18131' 加粗的代表是开启debug模式,18131代表远程连

Tomcat配置远程调试端口(windows、Linux)

当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081" // Windows系统:

Linux下Debug模式启动Tomcat进行远程调试

J2EE开发各类资源下载清单,  史上最全IT资源,点击进入! 一.      应用场景 在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码级的调试才能验证功能是否正确.然而开发本地调试的话,不具有说服力,这时我们测试人员必须连接到linux下的基线版本代码进行远程调试 二.调试步骤 1.部署服务工程到Linux系统下的Tomcat中,本文档重点是远程调式,为了防止文档篇幅累赘,这里就不介绍部署工程了. 2.更改tomcat远程调试端口

在gentoo中打开tomcat的远程调试开关

在一般象gentoo等发行版中,系统安装tomcat这类软件后会产生一些启动脚本, 例如是/etc/init.d/tomcat-7, 启动方式与原始的tomcat不太一样.在gentoo中,如果需要远程调试tomcat的web应用,可能将以下一行修改一下: 在开头大概10多行, 将以下 : ${TOMCAT_START:=start} 修改成 : ${TOMCAT_START:=jpda start} 即可. 版权声明:本文为博主原创文章,未经博主允许不得转载.

配置tomcat的远程调试

参考文档: http://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html http://flyer2010.iteye.com/blog/658506 http://www.cnblogs.com/dyllove98/archive/2013/08/01/3230824.html http://blog.csdn.net/sunyujia/article/details/2614614 1.修改tomcat的启动参数 复制start

tomcat+eclipse远程调试

在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat 一.在windows系统中: 打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行: set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8

Tomcat配置远程调试端口

1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: Java代码   declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788" 2.Windows系统: apach/bin/startup.bat开始处中增加如下内容: Java代码   SE

tomcat启动debug模式,使用eclipse远程调试

生产环境和测试环境可以将tomcat启动设置为debug模式,开始远程监听端口,然后在本地的eclipse中对项目远程调试,即可对指定的服务器中的tomcat进行远程调试. 一.打开tomcat/bin/Catalina.bat文件,在下面位置输入:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=800