当前位置: 首页 > 知识库问答 >
问题:

IntelliJ调试器卡住了

王英彦
2023-03-14

我正在调试一个普通的Java应用程序,没有GUI,只是在出现问题时对主线程进行大量计算和~5次调用。基本上,它一直在局部变量表中显示“收集数据”。

以前有人遇到过这个问题吗?更改调试器是解决这个问题的唯一方法吗?

共有3个答案

韦业
2023-03-14

我刚刚遇到了看起来相同的问题。在我的例子中,它是断点堆栈跟踪中的一个类(KafkaStream),带有“坏”toString方法。toString方法阻塞并因此挂起调试器。我在主线代码中测试了toString方法,它挂起了主线程(即这不是调试器特定的问题)。

下面是我的线程的堆栈跟踪,它命中了断点(在一行上,它只是试图测试我的类的布尔属性):

Intellij提供了一种解决我的问题的方法。它允许您覆盖调试器呈现类的方式:

如果您的问题再次出现,我建议进行线程转储(在IDE内部或外部)并查看您的线程正在做什么。

柳德义
2023-03-14

以下在IntelliJ 2018.2.4上为我修复了它:

  • 右键单击断点
  • 切换设置以挂起“线程”而不是“全部”

如果您实际上需要挂起所有线程进行调试,这将没有帮助,但它为我去掉了“收集数据......”和“等到最后一个调试器命令完成”消息。该设置对于后续断点也会保留,因此您只需要更改一次。

卓胜
2023-03-14

在IntelliJ(2017.1.4社区版)上,以下内容为我解决了这个问题:

  • 文件-

重新运行调试器。

 类似资料:
  • 在使用Quartz Scheduler 1.8.6版的应用程序中,当作业未完成时,我们遇到了一个触发器卡住的问题。 例如,我们有ssh调用或数据库查询的作业。如果这些作业挂起(因为ssh调用没有终止,或者select语句有一个表锁),那么我将无法再触发这些作业。触发器被卡住,直到我强制重新启动调度程序。 我已经试过了。中断(触发器)和调度程序。重新调度触发器()。我试着移除触发器并重新创建它。我已

  • 我正在尝试使用ecs-cli命令行在AWS上获得一个工作的Docker环境。 我有一个使用Dockerfiles、docker-compose.yml、一个.env文件和一个entrypoint.sh脚本的工作本地Docker环境。容器是一个运行PHP和一系列扩展的apache webserver以及一个MySQL DB。 骨架文件结构是这样的: ./docker/webserver/entryp

  • 以前我的MySQL pod停留在终止状态,然后我尝试使用如下命令强制删除 后来我再次尝试helm升级,我的吊舱被卡在containercreating状态,这个事件来自吊舱 任何人请帮助我解决这个问题,非常感谢。

  • 这是一个线程,用于处理服务器端的输入和输出: 如果我调用print方法,线程就会被阻塞。这意味着“之前”是打印出来的,但“之后”永远不会到达。printwriter的CheckError方法返回false! 它位于一个AbstractServer中,由两个不同的服务器使用。第一个以前就已经使用过了,而且一直都没有问题(现在仍然如此)。另一个是新的,导致了这个问题。对于每个初始化的连接(两个具有不同

  • 问题内容: 我正在尝试使用标准方式使用jdbc连接到Informix数据库服务器: 但是它一直尝试连接并且不会抛出错误消息(我想它尝试连接是因为它什么都不显示)。我正在使用IBM Informix驱动程序4.10.00.1534和Java 1.7。到目前为止,我一直使用这种方法连接到Informix服务器,实际上,只有一台服务器失败。我可以使用odbc通过Informix客户端连接到该服务器,但是

  • 本文向大家介绍解决pycharm 远程调试 上传 helpers 卡住的问题,包括了解决pycharm 远程调试 上传 helpers 卡住的问题的使用技巧和注意事项,需要的朋友参考一下 公司开发环境跑在linux上,用了一周都没问题,突然今天无法使用了,具体表现就是一打开pycharm,同步远程解释器就卡在上传helper文件之处,折腾一上午加一中午,用这个方法解决了,写下来避免其他人入坑! 解