gpt4 book ai didi

debugging - 为什么 IntelliJ 在远程调试时跳过断点

转载 作者:行者123 更新时间:2023-12-04 12:47:05 25 4
gpt4 key购买 nike

我被要求调试安装在 Apache Karaf (OSGi) 中的 Java 应用程序,该应用程序在我的开发机器上托管的 VM 中运行。我的同事已经能够成功地使用 Eclipse 进行远程调试。我选择的工具是 IntelliJ,在我尝试远程调试时,IntelliJ 成功连接(通过套接字)。如果我暂停调试 session ,Karaf 控制台会按预期卡住并在我单击继续时恢复。但是当我暂停时,我可以在 IntelliJ 中看到以下消息并且我的断点被忽略。

目标 VM 不会因断点请求而暂停。在此模式下无法评估方法。

这是什么意思?我已经搜索并浏览了 IntelliJ 的文档。为什么 Eclipse 可以允许工作断点而 IntelliJ 不允许?

最佳答案

首先,假设您已经在 Debug模式下启动了 OSGI 容器(例如, Fuse Fabric )。通常这是通过添加参数 debug 来完成的。到启动脚本。

例如:

c:\> startfabric.bat debug

正如 Tim 所指出的,您现在需要确保您的源代码与部署到 OSGI 容器的任何内容完全同步。

可以肯定的是,检查与部署到服务器的源代码版本完全相同的源代码版本,然后选择 Build -> Rebuild Project .如有必要,做一个 mvn clean install在您的机器上,并部署您自己构建的包/功能 - 然后您知道您在本地拥有的代码应该与部署的代码完全匹配。

最后,在 IntelliJ 中检查您的调试面板,并删除在 Debug模式下可能会产生干扰的所有 Watch 表达式。

关于debugging - 为什么 IntelliJ 在远程调试时跳过断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30387419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com