我们在开发的过程中,经常会遇到这样的情况:代码在本地测试得好好的,但部署上线后测试结果就不一样了,这时就需要去服务器上查看日志进行分析从而定位问题,但这样还是会比较麻烦,如果能够Debug调试,那岂不是美滋滋。
最近了解到IDEA里面其实有远程Debug调试工具--Remote,其使用方法就是将服务器上部署的代码用Debug模式启动并暴露一个端口,然后用Remote连接服务器去访问这个端口,即可实现远程Debug调试。
具体使用步骤:
1、确保服务器上部署的代码跟本地的代码是一致的
2、添加Debug模式启动脚本debug.sh,脚本示例内容如下:
export LC_ALL=zh_CN.UTF8
export LANG=zh_CN.UTF8
nohup /usr/bin/java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6810 nms-asset-manager.jar &
其中6810是自己定义的端口号,示例目录结构如下:
脚本关键内容如下:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address={自己定义的端口号}
3、用debug.sh脚本启动项目
附上给debug.sh脚本赋予可执行权限的命令:
chomd +x debug.sh
4、在IDEA里配置Remote
5、连接服务器,开始远程Debug调试代码
点击IDEA里的Debug启动按钮,连接服务器:
在相应位置打上断点,请求接口开始调试代码: