Android Studio在调试器中找不到本地变量。

当我试图调试我的应用程序时,我无法在调试器中看到变量值。

例如当我试图评估一个表达式时,我出现了以下错误(与变量观察器相同)。

Cannot find local variable 'data' with type com.myorg.myapp.data.objects.DataToUpdate

IDE似乎理解了我的变量的类型,但它找不到它。

变量是在后面使用的,所以它没有被优化掉。

我相信代码已经被优化了,但只是一部分。

我做了一个apk,然后用网上的一些反编译器反编译了一下,看看是不是被minify了还是怎么的。

  • 我的部分代码没有
    • 我的类字段没有问题,我可以在调试器中看到它们的值,而且它们的名字和我的代码一样
  • 然而,我的代码的其他部分似乎被优化了(变量名称不一样)。
    • 例如:我的DataToUpdate类型的变量 “data “在反编译后变成了 “DataToUpdate r118″。

我什么都没有放进去 debug 构建类型的我的 build.gradle. 我根据在网上看到的内容添加了以下几行,试图让它工作。

buildTypes {
        debug {
            debuggable true
            testCoverageEnabled = false
            minifyEnabled false
            useProguard false
        }

}

我使用的是Android Studio 4.0 Beta 4,但在Android Studio 3.6中也不能可靠地工作。

解决方案:

最后我使用logcat来理解然后纠正我代码中的bug。

调试器在其他方法中工作,所以在其他方法中重现这个问题,在那里调试可能是有用的。

如果调试器能按预期工作就更好了,但我不能让它在这个特定的方法中工作。

给TA打赏
共{{data.count}}人
人已打赏
未分类

GraphQL skipaccess on FIELD_DEFINITION, RBAC for fields?

2022-9-8 19:26:17

未分类

是否可以使用 VSTSAzure DevOps Release 部署任务来故障转移 Azure 函数?

2022-9-8 19:26:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索