在Android Studio上评估表达式时出现问题

时间:2020-04-27 18:03:37

标签: android android-studio debugging intellij-idea android-debug

在调试应用程序时,对于我来说,在断点处停止并评估表达式(例如,运行诸如students.filter { it.age >= 18 }之类的代码)非常普遍。我不仅习惯这样做,而且到目前为止,我从没有遇到过这样的问题。

但是,在调试期间尝试筛选列表时,我开始遇到一些问题。我的意思是“几个”,因为我遇到的错误开始改变。

起初,在尝试运行未执行的指令时,我陷入了Evaluating...消息中。指令是这样的:

foo.bar.filter { it.id.toLowerCase() == "someId" }

foo作为具有84个元素,kotlin.collections.List作为对象,将bar作为字符串的列表(id)。

我在调试时也遇到了一个问题,那就是在尝试分析变量的属性时,我陷入了一条消息,Collecting data...

我认为问题可能出在我的计算机或手机(内存,处理器...)上,所以我都重启了它们,但问题仍然存在。我认为这不是硬件问题,因为我有一个不错的笔记本电脑(i7,带有16GB内存和一个SDD)和智能手机(Note 9)。我还更改了我使用的电缆,以防万一。 我以为可能是我的Android Studio不是最新版本(版本3.5.1),所以我将其升级到了版本3.6.3,但是问题仍然存在。

我尝试使用仿真器,但是开始收到以下错误:

com.sun.jdi.internalexception: unexpected jdwp error: 23

在某个时候我遇到了另一个错误:

object has been collected

我确定我的问题与GC无关,因为如果我只是评估列表变量而不是尝试对其进行过滤,则它可以工作。当我也尝试评估其属性之一(例如foo.bar)时,该方法也适用。

我已经与其他android开发人员进行了交谈,但是我唯一能获得的帮助是“尝试重新启动android studio”。

0 个答案:

没有答案