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.gradle
的debug
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()
为啥在 Visual Studio 2019 (XAMARIN) 中找不到 Android 库