【问题标题】:IntelliJ Idea remote debugger hangsIntelliJ Idea 远程调试器挂起
【发布时间】:2016-11-18 00:26:20
【问题描述】:

当我在 IntelliJ 中使用远程调试器在服务器上调试 Java 应用程序时,它会成功地在断点处停止,但是当我尝试评估任何表达式或变量时,它会挂起并且什么也不显示(通常带有“正在收集数据”消息)。从那时起,我什至不能再继续单步执行代码了。我必须单击恢复,以便它至少运行,但它也永远不会在其他断点处停止,直到我重新启动调试会话,通常甚至是正在调试的 Java 应用程序。

我可以在断点处停止后单步执行代码,而且我在调试器面板中看到了变量,只有当我尝试评估表达式或添加观察器时它才开始表现得很奇怪。然后它停止工作并重新启动调试器并且需要该应用程序。

有没有人遇到过类似的事情?是 IntelliJ 还是服务器问题?

(抱歉,描述的太模糊了,但我不知道要分享什么或问题可能是什么)

【问题讨论】:

  • 你能指定你使用的是哪个版本的 IntelliJ。也是社区还是专业?使用 IntelliJ 16,我注意到您通常不需要评估或观察表达式,IntelliJ 会突出显示变量的值,直到当前执行断点为止。所以我不知道为什么你应该看到。
  • 2016 专业。好吧,有时,我需要评估的不仅仅是执行代码中的内容来调试错误(或更改值以模拟某些东西)
  • 这可能取决于您尝试调试和评估的内容。因此,除非提供更多信息,否则我将无能为力。我建议添加更多关于您尝试调试的内容、服务器及其版本以及是否有任何信息可以从应用日志中提取的信息。
  • 每当我使用调试器命中任何断点时都会发生这种情况...
  • 我想我也经历过类似的事情。当应用程序只是在没有断点的情况下运行(即使在调试模式下)时,它运行得很快。但是,当您在断点帧上停止时,变量会慢慢解决。通过解决我的意思是慢慢出现框架和慢慢消失在变量旁边的“收集数据”消息。我不知道您等待评估多久了,但就我而言,最终控制权会以结果返回给您。所以它不会挂起。它只是非常慢......它可能取决于您的代码的复杂性,变量的数量等......慢速连接在这里也无济于事。

标签: java intellij-idea remote-debugging


【解决方案1】:

远程调试期间的表达式评估需要比其他操作(添加/删除断点、步骤管理 ecc)更多的数据来同步。 所以这类问题应该只是与:

  • 连接缓慢
  • 在远程服务器中执行的操作涉及到巨大的复杂性和大量数据

【讨论】:

  • 它有多慢?在我放弃之前,我已经让评估加载了几分钟。所以,最后,我放弃了对远程调试会话的评估,因为它难以忍受。
  • 我还经历了 15 分钟的等待,连接速度非常慢,评估表达式的结果是一张包含许多非常大的对象的地图!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-05
  • 2013-03-03
  • 2012-04-22
  • 2012-07-23
  • 2017-05-13
  • 2012-06-20
  • 2021-12-14
相关资源
最近更新 更多