1.前言
“这怎么回事?在本地还好好,放到服务器就不行了。这该怎么排查,日志也看不出来啥呀”,日常开发中经常会出现这种问题,这时候就可以尝试idea远程debug的模式试试
2.使用
1.环境:idea2021
2.idea配置
重点:将自动生成的参数添加到启动命令里
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.总结
排查问题效率高,特别是对于服务器和本地系统差异性导致问题难以排查的时候,但是不要在测试环境或者生产环境使用,会影响他人。