乐趣区

关于java:Java高效开发远程debug

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

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

退出移动版