1、在window下
在tomcat的bin下的文件catalina.bat,加入下面这行:
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999
其中address=9999是没被使用的端口号。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。
2、在linux下
2.1 在tomcat的bin目录下的catalina.sh文件的正文的第一行添加:
declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999"
2.2
配置完成tomcat之后,启动tomcat(正常启动方式),可以查看监听端口是否已经监听。
[root@localhost bin]# netstat -antp | grep 9999
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 2502/java
3、在linux下,不修改catalina.sh的方式。使用下面的命令启动tomcat服务器
tomcat服务器已经内置了JPDA支持,只要用:
catalina.sh jpda start
这条命令启动tomcat,它就会监听8000端口,等待调试器的连接。要注意不能使用 startup.sh脚本。tomcat会使用 JPDA_ADDRESS这个环境变量的值。比如想监听8017端口:
export JPDA_ADDRESS=8017
catalina.sh jpda start
3、MyEclipse的配置
3.1 选择要调试的项目
右键---> Debug As ---->Debug Configurations
3.2 新建 Remote Java Application ,进行tomcat的远程调试
4、MyEclipse远程调试Java应用程序
5、参考文章
1.http://www.oschina.net/question/12_8196
2.http://blog.csdn.net/fcly2013/article/details/17751195