Android Studio 在调试器中找不到局部变量

leb*_*755 6 debugging android android-studio android-studio-4.0

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

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

Cannot find local variable 'data' with type com.myorg.myapp.data.objects.DataToUpdate
Run Code Online (Sandbox Code Playgroud)

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

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

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

我建了一个apk,然后用网上的一些反编译器反编译它,看看它是否被缩小了或者什么的。

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

我没有在debug我的build.gradle. 我根据我在网上看到的内容添加了以下几行以尝试使其工作:

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

}
Run Code Online (Sandbox Code Playgroud)

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

leb*_*755 -1

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

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

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