前言
我们知道大多数服务器都是Linux系统,且是非图形化的指令操作,在这种情况下,如果调试服务器部署的程序就比较困难,下面的操作就是要实现利用本地的idea和tomcat来远程连接服务器,调试程序,检测代码bug。
一、修改服务器tomcat 参数
这里说明一下下文“address=8000”是我在服务器开的8000端口进行调试,如果使用的是阿里云服务器需要在安全组里面添加自己想开的对应端口,必须保证我们使用的端口已经开放
linux服务器情况下
第一种
进入tomcat的bin目录下添加debug.sh文件(可复制startup.sh)
然后在exec "$PRGDIR"/"$EXECUTABLE" start "$@"行上面添加下面这句
export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y"
第二种
同样进入tomcat的bin目录下在catalina.sh文件的开头添加CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y"
windows服务器
第一种
进入tomcat的bin目录下打开catcalina.bat文件
修改:set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
为:set "JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
第二种
进入tomcat的bin目录下打开catcalina.bat文件
直接在开始位置添加set "JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
修改服务器tomcat 参数完成后,启动服务器的tomcat
二、本地调试
我本地是Windows系统,在开始本地调试前,我们需要做一些准备工作
远程服务器部署的war包程序必须要和本地idea编辑器里面项目代码一模一样,因为是逐行调试核对,必须保证代码的一样
其次我们默认war包已经在服务器部署好了,确定部署没有问题
当修改服务器tomcat 参数后,启动服务器tomcat
1.idea打开我们对应的本地项目,在启动项目图标那里点击,找到编辑Edit Configurations进入
2.然后找到Templates,下拉框找到Remote
3.找到Remote,修改端口号为我们刚才在服务器配置tomcat的端口号,我这里是8000.然后点击Apply再OK
4.下面看图,在此界面点击加号,然后再次找到Remote,就会看到序号3的界面,给这个连接起个名字(我起的test),Host处写服务器ip,Port写端口号,然后点击Apply再OK,
5.看下图,选择刚才起名字的Remote,我的是test,然后点击debug,看到控制台出现下图的字样就是连接成功了,可以进行远程调试服务器部署的war包程序了
到这里,我们利用本地idea和tomcat 远程调试服务器部署的war包程序的整个步骤就完全结束了。