【发布时间】:2019-03-22 23:48:26
【问题描述】:
我正在尝试使用 Intellij Idea 的远程调试器调试 spring-boot 应用程序。
我使用 Intellij Idea “Spring Boot”运行配置在我的开发机器上本地运行我的应用程序,并在运行配置中配置了以下 VM 选项:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
我没有其他 Java 应用在运行。
然后我运行另一个 Intellij Idea 运行配置“远程调试器”。它具有以下配置:
host: localhost; port:5005, debugger mode: Attach to remote JVM
我可以在控制台中看到以下消息:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'.
但是控制器类和其他组件中的断点被忽略了。
但是!!!如果我选择我的 Spring Boot 运行配置并简单地在调试模式下运行它(这样就不需要运行单独的远程调试器运行配置)断点按预期工作。
【问题讨论】:
-
@Frito,你的链接失效了
-
试试this ...
-
@Frito,谢谢,但此链接似乎无法解决我的问题。实际上,我尝试在没有 docker 的情况下做同样的事情,在主机上本地运行我的应用程序并将远程调试器连接到 VM。我遇到了与 docker 完全相同的问题。原来 id 根本不需要对 docker 做任何事情。我已经相应地编辑了我的问题。
-
请提供更多信息。什么是“本地主机”?在您的开发人员机器或主机上但没有 docker?你如何配置你的 spring-boot 应用程序的虚拟机?问题通常是:网络(例如 docker 或 real)、为调试配置了错误的 VM、运行时 VM 中的类与 IDE 相比不同或未使用调试信息编译的类。
-
@Frito,我已经用最简单的测试用例的描述替换了我原来的帖子,我没有 docker 但仍然有同样的问题。
标签: java docker spring-boot intellij-idea remote-debugging