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

Posted

技术标签:

【中文标题】Android Studio 在调试器中找不到局部变量【英文标题】:Android Studio cannot find local variable in debugger 【发布时间】: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 中也无法可靠运行。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

你找到真正的解决方案了吗? 很遗憾,我有一段时间没有使用 Android Studio。我认为这个问题在线程或 lambdas 中出现的频率更高,我记不太清楚了。

以上是关于Android Studio 在调试器中找不到局部变量的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 远程调试 - 在同一域中找不到计算机

在 android studio 中找不到符号错误

在 Android Studio 项目中找不到参数的方法 android()

为啥在 Visual Studio 2019 (XAMARIN) 中找不到 Android 库

在 Android Studio 中找不到 MainActivity.java [关闭]

在 Android Studio 的插件中找不到 Android Drawable Importer