如何解决“等待最后一个调试器命令完成”卡在 Android Studio 中?

Pau*_*aum 5 java android kotlin android-studio

我的项目在Android Studio 中。它在Windows 7 中有大约 35,000 行。我的环境更新了。我使用Kotlin而不是Java,但这并不重要。我的电脑内存很大。

Waiting until last debugger command completes在手机中调试我的应用程序时,我阅读了互联网上有关该消息的所有材料。

对我来说,调试器以正常速度工作,或者完全卡住(挂起),或者有时非常慢。

我的应用程序中有线程,但很多时候这个问题发生在任何线程之外。只是简单的代码!

我已将其作为错误发布在Google Issue Tracker和JetBrains 中,包括dump file和idea.log文件。Google 已将优先级P3和严重性标记为S3(低级别)。JetBrains已经回答了我,我制作了许多转储和屏幕截图。他们声称问题只能是谷歌的。JetBrains 的定位已经过去了太多时间,但今天 (Out/2)来自 JetBrains 的Andrei Kuznetsov给了我一个建议(下面的项目f)

无法解决我的问题的可能解决方法:

a)擦除所有观察变量。一点点改善。

b)擦除旧断点。这不够。

c)执行Invalidate Caches and Restart

d)取消签Enable ToString object view入Settings, Build,Execution and Deployment, Debugger, Data Views,Java

e )Disable JIT在Debugger设置中未选中

f ) 我尝试Force classic VM for JDK 1.3x and earlier在Debugger设置中禁用该选项,但它也不起作用。

g ^)在此的问题跟踪谷歌从2015年开始,我读过一点提示,有试图改变一些断点的 Suspend从类型all来Thread做出此选项默认。

h ) 在运行期间,在调试窗口中,用鼠标右键单击某个变量,然后选择Mute Rendering,这会在调试会话中产生很大的开销。它已保存以备将来使用。(JetBrains建议)

i ) 现在我正在尝试Settings -> Debugger -> Data Views -> Java禁用该选项Enable alternative view for Collections classes(来自fireb86 的回答)。让我们看看发生了什么。

-/-

自2008 年以来就有关于这个问题的JetBrains报告!

免责声明:自从我提出原始问题以来,它包含了许多更新。我加入了所有信息,以使阅读此问题更加流畅。

fir*_*b86 6

我在使用 Idea 2020.2 + android 插件时遇到这个问题几个月了,就我而言,我通过禁用解决了:

设置 -> 调试器 -> 数据视图 -> Java -> 启用集合类的替代视图(默认启用)

和

设置 -> 调试器 -> 数据视图 -> Java -> 启用 ToString 对象视图(默认启用)

正如此评论所推荐的

  • 由于问题在 Arctic Fox 中仍然存在,并且(据我所知)菜单流程现在与 2020 年 11 月完全不同,我将指出,可以通过右键单击“变量”选项卡找到“启用集合类的替代视图” ` 并选择“自定义数据视图”。通过取消选择“启用集合类的替代视图”和“启用 ToString 对象视图”,问题就消失了(对于我来说)。(FWIW:在这些更改之前,尝试评估查询 SQLite 数据库的“布尔”表达式时,调试会冻结。) (2认同)