远程调试
是调试分布式系统的一个利器。因为现在都以微服务部署,你不可能在本地同时启动N个服务来做本地调试。
更重要的是如果测试时候测出发现你的bug,这时候你若想定位问题,通过远程调试
直接连接到测试服务(甚至是线上服务
)不失为一种最为高效的解决方案,并且它还能有非常好的保护现场的辅助能力~
启动远程调试主要分两步:
第一步:要让远程服务器运行的代码支持远程调试,也就是启动的时候必须加上特定的JVM参数
:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${debug_port} -jar demo.jar (适用于JDK8以上) java -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port} -jar demo.jar(适用于JDK8以下)
我把${debug_port}替换成了22599 jar包内的端口号为22499 不替换也可以 但是idea配置的端口号貌似22499不通 需要查日志 Listening for transport dt_socket at address: 23587
第二步:idea使用remote链接远程端口(注意ip:port
要对应上):”Edit Configurations” -> “Remote” 配置好后debug启动
~~~
当你看到控制台这样的字样,就证明你链接成功了,进而你可以像调试本地代码一样随意在idea中打各种类型的断点进行调试了~
标签:jar,IDEA,port,debug,Debug,dt,远程,调试 From: https://www.cnblogs.com/pijunqi/p/17378142.html
需要注意的是:远程调试时请确保你本地的代码和远程的一模一样。