我想在调试期间更改参考对象。例如,我有一个 String 对象,我想给它分配另一个值。当我用“设置值...(F2)”更改它时,调试器会显示一个新值。但是当我在修改值后尝试调用某些方法(如 myString.length())时,会引发 NullPointerException。似乎新实例为空或引用错误。“评估表达式”时也会发生同样的事情。
问题出现在 Android > 5.0(在模拟器和真实设备上测试)。对于 android 4.* 它运行良好。我想可能是因为 ART,但在 android 4.4 上它工作正常。我还使用 'android:vmSafeMode="true"' 禁用了 AOT 编译,但它没有帮助。
值类型或类成员引用对象没有问题,但只有局部变量引用对象。
我使用 Android Studio 141.2288178、sdk r24.4.1、Ubuntu 在不同的 PC 上进行了尝试。我也尝试使用 jdwp 进行调试,但没有结果。