Idea远程调试
# Idea远程调试
当把一个本地项目部署到远程服务器后有可能出现意想不到错误,这个时候通过远程调试能够更清楚的找到bug所在位置。
本篇主要讲解如何使用Idea开发工具 进行调试
1.远程调试服务器上面的SpringBoot 项目
2.远程调试服务器上运行在tomcat中的项目,实际开发部署中有时候还是很有用处的,方便你定位错误 快速找出错误。
### 1.远程调试SpringBoot内嵌Tomcat的项目
现在以SpringBoot为基础开发的项目很多,最终会通过构建工具比如Maven打成jar包,之间 java -jar方式运行,那么在这种情况下如何利用Idea进行远程调试呢,下面就以我的博客项目开始讲解吧。
#### 1.1 打开Idea的 Run/Debug Configurations 新增一个Remote
![Xnip20191209_133239.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095239099-323180269.jpg)
#### 1.2 填写要远程的IP 和 端口(默认 5005)
![Xnip20191209_133610.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095240670-1357253110.jpg)
#### 1.3 在远程服务器上启动SpringBoot项目 要添加一些参数
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
-jar xxx.jar
如下图所示:
![Xnip20191209_142152.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095241396-530093070.jpg)
#### 1.4 Idea 上启动remote
启动成功会看到console 打印 Connected to 。。。表示连接成功了
![Xnip20191209_134313.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095242362-2061435277.jpg)
#### 1.5 Idea 中之间打debug 进行调试
操作我的博客项目 可以看到确实能debug 拦截到
![Xnip20191209_134616.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095243329-742017620.jpg)
### 2.远程调试部署在Tomcat中的项目
#### 2.1 打开tomcat bin路径下的 catalina.sh
找到JPDA_ADDRESS
![Xnip20191209_135524.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095244289-1601662188.jpg)
**把默认的 localhost:8000 改成 0.0.0.0:5005**
localhost:8000默认本地调试,也就是无法远程调试 ,改成 0.0.0.0 表示所有的ip都可以调试
关闭tomcat 重启tomcat ,启动命令 ./catalina.sh jpda start (jpda start 表示调试模式启动的意思)
**注意:你的5005端口是否已经被占用,如果被其他进程占用,那么你请换个端口 0.0.0.0:xxxx**
![Xnip20191209_141042.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095245229-1362588456.jpg)
#### 2.2 在Idea中创建 remote 和上面一样的操作,然后启动
![Xnip20191209_134313.jpg](https://img2018.cnblogs.com/blog/1898722/201912/1898722-20191219095242362-2061435277.jpg)
### 3.总结:
本篇介绍了2种远程调试 **第一种是SpringBoot项目jar包方式启动** **第二种是项目部署在外部tomcat种的远程调试方法**
能够解决 在我本地是好的啊 这个世界性难题~
**注意 要保证服务器上的代码和本地代码最好一致**
> 个人博客地址: https://www.askajohnny.com 欢迎访问!
> 本文由博客一文多发平台 [OpenWrite](https://openwrite.cn?from=article_bottom) 发布!