IntelliJ IDEA Tutorials 开发工具

使用 IntelliJ IDEA 在 Docker 中调试 Java 应用程序

Docker 集成允许您直接从 IntelliJ IDEA 构建或拉出 Docker 镜像,并且运行 Docker 容器。您可以使用特殊运行配置在 Docker 容器中运行应用程序,并查看它在与生产相同的环境中的行为方式。

 但调试呢?

从 2019.1 版起,您可以直接从 IntelliJ IDEA 调试运行在 Docker 容器中的 Java 应用程序。运行在 Docker 容器中的应用程序作为远程应用程序对待,因此可以将调试器附加其上。IntelliJ IDEA 包含用于远程调试的特殊运行/调试配置类型。

创建一个远程调试配置并为其添加一个特殊的启动前 (Before launch) 任务:调试前启动 Docker (Launch Docker before debug),它定义了您希望运行和附加到的 Docker 配置。

现在,每次运行远程调试配置时,它都将根据 Docker 运行配置设置运行容器,然后将调试器附加到容器中的应用程序。当它到达断点时,调试器将停止并让您分析应用程序的当前状态,就像正常的调试会话一样。

这可以用于任何类型的 Docker 运行配置:无论是基于构建的 Docker 镜像、Dockerfile 还是 Docker Compose 文件。

有关在 Docker 容器中远程调试的更多信息以及带示例的教程,请参阅 IntelliJ IDEA 文档

这种改进增强了 Docker 集成,适用于经常在工作流程中使用容器的开发人员。

从 IntelliJ IDEA 旗舰版 2019.1 起提供此功能。

注意:在 Docker 容器中远程调试目前已经为 Java 8 及更早版本实现。

 

将在不远的将来支持 Java 9+。

请在下面的意见中告诉我们您对此功能的看法。如果您有改进建议,请在YouTrack 中投票。

关注我们的官方微博、微信公众号,和中文博客,以及 Twitter:@intellijidea 了解更多信息。

祝您开发愉快!

原文发表于2019年4月30日,作者Alexey Zhebel

image description

Discover more