IDEA的远程调试(远程Debug)

发布时间 2023-05-06 17:54:27作者: ai石桥

远程调试是调试分布式系统的一个利器。因为现在都以微服务部署,你不可能在本地同时启动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中打各种类型的断点进行调试了~

 

需要注意的是:远程调试时请确保你本地的代码和远程的一模一样。