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.总结

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