MyEclipse或者Eclipse下如何远程调试Tomcat

一、前言

相信很多开发的童鞋都遇到过,在开发过程中,测试环境明明测试OK,但是当系统上了生产环境后,就出现了生产故障,但是无论你怎样在测试环境测试,测试环境又无法复现问题,无奈之下,博主只有拿生产环境开刀了,远程调试,建议不到万不得已不要这么操作,毕竟是生产环境。

二、准备

这里用本地环境做一下模拟操作,网上找了很多例子,发现都是互相转载,有的是对的,有的是错。无奈,只有自己尝试完善这个操作步骤,废话不多说了。

Tomcat版本:apache-tomcat-7.0.42

自己找一个Web工程打成war包,注意Eclipse中的项目源码一定是和打入服务器中的war一样

三、开始配置

修改\apache-tomcat-7.0.42\bin\catalina.bat文件,将下面配置添加进入

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8088

如下图:


然后,打开Eclipse,打开debug图标,可以看到Debug Configurations找到Remote Java Application新建,依次配置调试项目IP,配置好的端口号,注意端口号是8088(不能与项目启动的监听端口号冲突),然后点击Apply,最后点击debug。

MyEclipse或者Eclipse下如何远程调试Tomcat_第1张图片

启动Tomcat,双击startup.bat命令,启动服务,运行项目,设置好断点,进入Debug模式,进行调试

MyEclipse或者Eclipse下如何远程调试Tomcat_第2张图片

四、问题总结

在调试的过程中可能会遇到“failed to connect to remote vm”报错

第一种可能:已经建立了一个连接了

MyEclipse或者Eclipse下如何远程调试Tomcat_第3张图片

解决方法:去debug透视图中找到下图红色框框里面的按钮,点击断开连接,就可以解决问题了

MyEclipse或者Eclipse下如何远程调试Tomcat_第4张图片

第二种情况:在startup.bat文件中,添加以下指令

set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=8088
set JPDA_SUSPEND=n

但是这一种,并没有生效,启动Debug时就报了“failed to connect to remote vm”,所以果断放弃了这种方式,大家自己可以尝试一下。

版权声明:本文为博主原创文章,允许转载,但转载必须标明出处。


你可能感兴趣的:(Tomcat教程)