【问题标题】:Android Studio cannot find local variable in debuggerAndroid Studio 在调试器中找不到局部变量
【发布时间】:2020-08-05 07:43:12
【问题描述】:

当我尝试调试我的应用时,我在调试器中看不到变量值。

例如,当我尝试评估表达式时出现以下错误(与变量观察者相同):

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

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

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

我相信代码已经过优化,但只是其中的一部分。

我建了一个apk,用网上的一些反编译器反编译,看它是不是被缩小了。

  • 我的部分代码不是
    • 我的类字段没问题,我可以在调试器中看到它们的值,并且它们的名称与我的代码中的名称相同
  • 但是,我的代码的其他部分似乎进行了优化(变量名称不一样)
    • 例如: 我的 DataToUpdate 类型的变量“data”在反编译代码中变成了“DataToUpdate r118”

我的build.gradledebug buildType 中没有任何内容。我根据我在网上看到的内容添加了以下几行以尝试使其工作:

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

}

我使用的是 Android Studio 4.0 Beta 4,但它在 Android Studio 3.6 中也无法可靠运行。

【问题讨论】:

    标签: android android-studio debugging android-studio-4.0


    【解决方案1】:

    我最终使用 logcat 来理解并纠正我的代码中的错误。

    调试器在其他方法中工作,因此尝试在其他方法中重现问题并在那里调试它可能很有用。

    按预期工作的调试器会更好,但我无法使其在这种特定方法中工作。

    【讨论】:

    • 你找到真正的解决方案了吗?
    • 很遗憾,我有一段时间没有使用 Android Studio。我认为这个问题在线程或 lambdas 中出现的频率更高,我记不太清楚了。
    猜你喜欢
    • 2020-06-13
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多