[IDEA踩坑]java项目debug卡主,但是可以正常run

您所在的位置:网站首页 为什么手机收到短信的时候网络会卡住 [IDEA踩坑]java项目debug卡主,但是可以正常run

[IDEA踩坑]java项目debug卡主,但是可以正常run

2024-07-12 00:17| 来源: 网络整理| 查看: 265

文章目录 情况描述最终找到的错误原因保姆级解决方法可能原因分析感想

情况描述

使用IDEA,启动debug运行一个java项目,上午的时候正常起项目耗时在20s左右,没有修改环境变量等相关配置信息,修改调试了部分非相关代码内容。下午发现debug运行时日志打印卡在某一步,既没有报错也没有继续运行。等待几小时也没有反应。

在查找原因时,在系统的idea日志中发现是某个连接不断地建立、过期、断开,但是没有报错,另一方面具体日志不太看得懂,不能得到什么有价值的信息。相同的代码在他人电脑上可以快速debug运行,统一java的jdk版本也没有效果。

尝试非debug运行可以快速跑通,清空idea缓存并重建项目可以debug成功一次,之后进行debug又会卡在相同的地方。

最终找到的错误原因

断点打在了方法上导致debug速度变慢。

保姆级解决方法

Mac上command+shift+F8打开断点控制面板,或者点击debug窗口的viewPoints按钮:

在这里插入图片描述

将其中方法上的断点全部取消: 在这里插入图片描述 然后再debug就可以正常运行了。

可能原因分析

可是为什么会发生这种事情呢?网上也没有相关问题的答案。猜测是IDEA在断点处理分析的时候运行速度慢,在方法断点上的处理就更慢了。然后有些链接的有效时间比较短暂,在IDEA处理分析断点的时候这些链接就失效了。重新建立连接后IDEA又重新开始分析,所以进入了一个类似死循环的等待阶段。

感想

这算是我在实习过程中遇到的最意想不到的一个原因。当同学听说项目只能正常运行不能debug运行时都纷纷表示没遇到过这种情况,部分甚至觉得难以理解。在去问师兄也是没有遇到过相似的情况。不过由于师兄也没有遇到过这种情况,师兄帮我调试了好久,相对精确地定位了问题,但是也没有彻底找到根本原因。

确实就事后复盘而言,run和debug的区别确实主要就是可以设置断点并响应断点。所以从断点入手应该可以快速解决这个问题。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3