如何让Tomcat以Debug模式启动

感谢  "微wx笑" 写的文章,受益匪浅


有时候我们需要远程调试项目代码,这就需要让Tomcat以Debug模式启动。

环境说明

Windows 7 64位 
JDK 8 64位 
tomcat-8.0.21 x64.zip

配置方法

第一步:配置JPDA参数

如果Tomcat使用的是JDK 1.5以上版本,那么JPDA可以使用JVMDI,配置方法为: 
在tomcat的bin/catalina.bat文件中一开始加入: 
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000 
如果是Mac OS X或是Linux,则在bin/catalina.sh文件中一开始加入: 
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000 
其中address中的端口不一定非用8000哦,也可以换成其他端口。 
如果使用的是JDK 1.4,那么只能使用JVMPI了,见后面的说明。 

第二步:以JPDA模式启动

在tomcat的bin/startup.bat文件中的启动命令中加入JPDA,如下图: 
如何让Tomcat以Debug模式启动_第1张图片 
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=0.0.0.0:8000

说明:

1)以上方法在Windows/Mac OS X,Tomcat 5.5.25下均测试通过;Tomcat 5.0.x和6.0.x则参见4楼; 
2)如果是JDK 1.4,JPDA参数需要调整为-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=localhost:8000,不过没试过,可能个别参数还需要再调整一下;(建议用JDK 1.5,因为JVMDI比JVMPI强大很多) 
3)JPDA的相关参数说明见 http://java.sun.com/j2se/1.5.0/docs/guide/jpda/conninv.html 
4)debug并不是诊断和解决问题的唯一方法,很多时候分析运行日志能更快地发现原因和解决问题.


对了,那里指定的 0.0.0.0 也可以省略掉,直接加上一个端口号.

类似:address=8000,这样.

你可能感兴趣的:(如何让Tomcat以Debug模式启动)