2019独角兽企业重金招聘Python工程师标准>>>
最近在spring开发中遇到一个小问题,导致代码每次跑到Biz层就出现跑空的情况,遂找力哥给讲解了以下Intellij Idea 远程调试的方法。
1.首先mvn编译参数:
- mvn clean package -DexJvmArgs="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9985"
其中后两个参数特别说明一下,前几个参数我也不大清楚,但暂时能用~~
suspend = y ,表示在Service启动时,若没有监听到编译器调试端的链接,则Service挂起,直到监听到链接到相应端口的调试信息;
address = 9985 ,表示Service端在服务器的9985端口监听调试信息;
2. 启动Service:
3.编译器设置:
JVM列输入:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9985
For jdk 1.4X列输入:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9985
For jdk 1.3X列输入:
-Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9985
Host 列 输入:需要调试的远程服务ip 和端口 host: 10.16.4.105 port: 9985
在Debug的Remote调试中设置相应参数即可实现调试了。
4.开始调试
在需要调试的位置设置断点后,进行debug就可以了,图中的对号表示已经链接到对应的service: