在本地开发过程中,对代码进行 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
|
配置并启动