【发布时间】:2015-05-22 02:25:24
【问题描述】:
有人要求我调试安装在 Apache Karaf (OSGi) 中的 Java 应用程序,该应用程序在我的开发机器上托管的 VM 中运行。我的同事已经能够使用 Eclipse 成功地进行远程调试。我选择的工具是 IntelliJ,在我尝试远程调试时,IntelliJ 连接成功(通过套接字)。如果我暂停调试会话,Karaf 控制台会按预期冻结并在我单击继续时恢复。但是当我暂停时,我可以在 IntelliJ 中看到以下消息,并且我的断点被忽略了。
断点请求未暂停目标 VM。在此模式下无法评估方法。
这是什么意思?我已经搜索并浏览了 IntelliJ 的文档。为什么 Eclipse 可以允许工作断点而 IntelliJ 不允许?
【问题讨论】:
-
我看到 IDE 跳过断点的唯一情况是控制台中的源代码与您正在运行的可执行文件不匹配。所以你的断点永远不会被命中,因为它们不能绑定到任何真实的代码。
-
好吧,我认为这是不可能的。但是经过一个非常曲折的路径,结果发现源不匹配。所以你的观察最终成为了我的问题。
-
蒂姆,感谢您和史蒂夫在下面的回复。顺便说一句,我进一步发现该特定消息与您停止的线程相关联,而不是您的调试设置的属性。希望您和史蒂夫在下面的回复对其他人有所帮助。
-
如果解决了您的问题,请在下面的回复中标记正确。
标签: debugging intellij-idea breakpoints karaf