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. 总结
排查问题效率高,特地是对于服务器和本地零碎差异性导致问题难以排查的时候,然而不要在测试环境或者生产环境应用,会影响别人。