程序开发者都知道,一个好的debug环境可以节省大量的时间。笔者身为一个嵌入式开发者更是收购了无限通过加打印的方式来解决bug。所以开发tomcat项目也是一样,如果我们可以直接调试tomcat服务器,试试解决bug,那肯定是轻松很多。所以这边文章就来讲一下如何利用eclipse远程调试tomcat。
首先你需要有一个tomcat,tomcat的安装可以查看另一篇文章:Apache-tomcat的安装--Ubuntu,这里就不再赘述。
https://blog.csdn.net/hyklose/article/details/81204826
其次你还需要一个eclipse,去官网上下载一个即可,同时你得war项目是需要导入到eclipse里面,还需要建立响应的runtime server。关于这一点后面有时间的话也会写成博文。这里不做赘述,给一个eclipse下载链接。
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/photon/R/eclipse-inst-win64.exe
(一)开启tomcat的JPDA模式
如果tomcat接受远程调试,需要开启JPDA模式。
首先你需要在启动时添加jpda的参数,如果你是apt-get模式安装的,需要编辑tomcat8文件:
root@ubuntu:~# vi /etc/init.d/tomcat8
找到:
catalina_sh start $SECURITY
修改为:
catalina_sh jpda start $SECURITY
自己安装的tomcat9道理也是一样,在执行catalina.sh脚本时加入jpda参数即可。
接下来如果有需要的话要修改一下JPDA的默认端口号,JPDA默认端口号是8000,有需要的可以修改,这里修改为8080.
首先打开tomcat启动脚本catalina.sh(自己安装的tomcat9根据实际情况打开路径):
root@ubuntu:~# vi /usr/share/tomcat8/bin/catalina.sh
找到:
JPDA_ADDRESS="localhost:8000"
修改为:
JPDA_ADDRESS="8080"
然后关闭文件,运行生效命令:
root@ubuntu:~# systemctl daemon-reload
重启tomcat:
root@ubuntu:~# service tomcat8 restart
这样你的tomcat就开启了JPDA模式。
(二)配置eclipse调试选项
打开你得eclipse,并且确保你有一个部署到tomcat的工程的源码项目。
然后选择你的工程,在顶部菜单一次进入Run -> Debug Configurations
然后再左侧栏目中的Remote Java Application中选择你要调试的工程,在右面输入工程名字,IP和端口号:
点击Debug按钮,就会进入调试界面了,可以看到所有的线程都在运行中: