无法使用intelliJIdea打开用于Spring Boot调试的调试器端口

时间:2018-07-10 08:37:30

标签: spring-boot debugging intellij-idea

我想用IntelliJ调试Spring Boot应用程序。我正在使用Windows 10。 当我使用以下命令运行spring boot项目时,它可以正常工作。但是调试无法正常工作。

mvn spring-boot:run -Drun.profiles=dev -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

然后我使用intelliJ进行远程调试,如下所示。

enter image description here

但是当我单击调试按钮时,intelliJ显示以下消息。

  

运行'RemoteDeBugger'时出错:无法打开调试器端口   (localhost:5005):java.net.ConnectException“连接被拒绝:   连接

出现上述现象的原因是什么,以及如何正确进行调试。

2 个答案:

答案 0 :(得分:0)

  

出现上述行为的原因是什么?

出现此错误是因为远程调试器正在寻找侦听端口5005的JVM。

  

如何正确进行调试?

您必须首先运行这样的JVM,我的意思是使用端口5005,要做到这一点,您已经有了答案:

mvn spring-boot:run -Drun.profiles=dev -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

默认情况下,除非指定了jvm参数或代理,否则运行目标将在同一进程中运行,上述配置将确保您分叉该进程并能够对其进行调试。

一切都成功启动之后,您可以通过单击 debug 来启动配置的远程调试器。

确保使用的端口与运行该应用程序所用的端口相同。

那时候您会很高兴从断点开始分析代码。

答案 1 :(得分:0)

在最新版本的 IntelliJ IDEA 中,只需在配置中选择“远程”选项并填写您的主机。然后将 JVM 命令行参数复制到远程 JVM,如 Philippe Simo 的回答中所述。 enter image description here