IDEA远程调试

在本地开发过程中,对代码进行 Debug 能逐行对代码逻辑进行调试,方便排查问题,但是当代码发布到测试环境时,如果运行过程中出现异常,仅仅依靠日志来排查问题的话,会比较耗时,经常由于日志不全等原因而不能快速准确定位问题,而通过对 JAVA 代码进行远程 Debug 能很好的解决这个问题

注意:本地代码与远程代码需要保持一致

远程应用启动命令

1
2
3
4
5
6
7
8
nohup java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar xieZhongCrmAPI-1.0-SNAPSHOT.jar 1>/dev/null 2>&1 &

-Xdebug:通知 JVM 在 Debug 模式下工作
-Xrunjdwp:通知 JVM 使用(Java Debug Wire Protocol)来运行调试环境,参数同时有一系列的调试选项
transport:用于监听 Socket 端口连接方式,常用的 dt_socket 表示使用 socket 连接
server:是否支持在 Server 模式的 VM 中,=y 表示当前调试服务端,=n 表示当前调试客户端
suspend:是否在调试客户端建立起来后,再执行 JVM,=n 表示启动时不中断
address:调试服务器的端口号,客户端用来连接服务器的端口号

开启端口

1
2
3
4
5
6
# 查看已经开放的端口
firewall-cmd --list-ports
# 开启端口
firewall-cmd --zone=public --add-port=5005/tcp --permanent
# 重载入
firewall-cmd --reload

配置并启动

image.png

image.png

image.png