IDEA远程调试Tomcat

96
Andy周
2016.08.03 19:55* 字数 318

本地调试非常简单,就不说了

记得以前跟同事调试的时候,线上环境出了问题,看他们都是打印log日志,比较麻烦,最近看了下web相关开发内容,发现是可以远程调试的。
不过看过很多类似的文章,Tomcat Remote Server调试都没有成功
网上的文章大都是相互抄袭转载,很多都没有加以验证,导致增加很多时间上的成本
下面介绍一种笔者亲自验证可行的方法

配置远程调试


配置如下



复制JVM的相关参数

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

配置服务器Tomcat
进入$TOMCAT_HOME/bin目录下

vi catalina.sh
#在# OS specific support.上面添加
export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'


开启相关端口

vi /etc/sysconfig/iptables 
#在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT之后添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5005 -j ACCEPT

重启防火墙

service iptables restart

如果嫌麻烦或者对安全要求不高直接关闭防火墙也行

service iptables stop

启动Tomcat

sh startup.sh

然后将war包部署到服务器上
你可以用scp命令传上去,也可以用sftp上传上去
笔者这里用的sftp上传
点击

Tools -> Deployment -> Configuration


配置如图,本地测试用的是root用户,笔者不建议在服务器上用root操作
可参考《Centos 6.5安装配置sftp》

Tools -> Deployment -> Browse Remote Host
Build -> Build Artifacts -> All Artifacts

然后,直接复制图示文件到服务器中

接着启动Remote Server调试

#控制台出现这个表示成功
Connected to the target VM, address: '192.168.1.200:5005', transport: 'socket'

下断点,浏览器输入

http://192.168.1.200:8080/welcome.do

如图所示,断点成功

参考
http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/remote-debugging.html

Web开发
Web note ad 1