6

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

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

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

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

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

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

我构建了一个 apk 并在网上使用一些反编译器对其进行反编译,以查看它是否被缩小或其他什么。

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

debugbuild.gradle. 我根据我在网上看到的内容添加了以下几行以使其正常工作:

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

}

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

4

1 回答 1

-1

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

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

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

于 2020-04-24T07:41:14.173 回答