步骤1:远程tomcat启动文件修改
windows: tomcat_home/bin/catalina.bat
在文件头部加入以下代码:其中端口8780根据需要设置
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8780
linux: taomcat_home/bin/catalina.sh
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8780"
步骤2:本地eclipse配置,各版本应该略有不同吧,但是以下配置内容肯定都有的。
Run/Debug Configurations/Remote Java Appliation 左边图标新建一个连接之后,可以看见connect、source和common三个选项卡;
在connect选项卡中,可以选择要调试的工程,如recommend工程;然后填入远程tomcat服务器的主机IP和监听端口;上文中设置的端口8780。
在source选项卡中,勾选recommend工程,意思就是给要调试的字节码贴上源码。
步骤3:配置完成之后,点击Debug按钮即可开始调试。当然,你的远程tomcat应该已经先启动才行。
意外情况:
有时候会报Failed to connect to remote VM. Connection refused.Connection refused:异常;错误信息比较笼统,没办法具体解决。但是有以下几个思路,没有研究过原理。仅供尝试。
1:远程tomcat应该从startup.bat或者startup.sh启动,而不是由eclipse启动;
2:catalina.bat/sh 文件头部加入的代码有误。网上提供的代码很杂,有的好使,有的不好使。
3:连接超时:在Perferences/Java/Debug处,可以设置Debug连接时间;
4:Perferences/general/Nectwork Connections/处把Active Prodiver改为Direct