1.前言

"这怎么回事?在本地还好好,放到服务器就不行了。这该怎么排查,日志也看不出来啥呀",日常开发中经常会出现这种问题,这时候就可以尝试idea远程debug的模式试试

2.使用

1.环境:idea2021

2.idea配置

file
file
file

重点:将自动生成的参数添加到启动命令里

3.启动脚本

nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxxxx-0.0.1-SNAPSHOT.jar &

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 从idea里复制即可

其他的命令是根据自身情况修改

4.启动debug

控制台出现一下字样即成功!
connected to the target VM,addree:'xxx.xx.xx.xx:xxxx',transport:'socket'

3.说明

1.端口不能被占用,且防火墙要开放对应端口或者关闭防火墙

2.断点开启后会导致阻塞,所以这个不要在测试环境或者生产环境玩(一般也没有权限)

3.记住控制台是不会打印日志的

4.远程的运行的代码要跟本地的一致(重要)

4.总结

排查问题效率高,特别是对于服务器和本地系统差异性导致问题难以排查的时候,但是不要在测试环境或者生产环境使用,会影响他人。


杨大明
4 声望0 粉丝