Press "Enter" to skip to content

使用IntelliJ远程调试spring boot

Remote debug spring boot application with maven and IntelliJ

应用启动开启调试模式,接受远程调试链接

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=n -jar target/cxf-boot-simple-0.0.1-SNAPSHOT.jar

这个主要就是启用gentlib:jdwp,在jvm里面启动一个在线调试的协议端口(Enable the Java Debug Wire Protocol (JDWP) agent inside the JVM)。suspend这个参数如果是y的话,程序会等待调试程序才会启动。

这里要说明下,不同版本的jvm启动这个的参数可能不一样, 我在网上查了很多资料,开始试了几个参数都不行(本地jdk1.8 osx),最后找到这个参数可以在本地执行,不代表可以在你的机器上可以执行。

idea开启远程调试模式

打开你的项目,代码和远程需要一致。然后点击 RUN … Edit Configurations 。左边框点击加号,找到里面有一个remote的选项,这样你就创建了一个远程调试的配置,右边你可以设置你的配置名称,远程主机的ip和端口号。下面有个Use module classpath 选择你的项目,点击保存即可。

然后你的运行列表就会多了个这样的远程调试的配置,你就可以运行调试他了。

参考资料:

https://gist.github.com/jonashackt/c1fd6fabdb014be9c4b935798454e17a

https://www.baeldung.com/spring-debugging

https://www.javadevjournal.com/spring/remote-debug-spring-boot-application-with-maven-and-intellij/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注