有时候我们需要远程调试项目代码,这就需要让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,如下图:
说明:
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并不是诊断和解决问题的唯一方法,很多时候分析运行日志能更快地发现原因和解决问题.