Android Studio调试器不显示局部变量

4nd*_*o1d 24 debugging android

我正在尝试在Android Studio中通过网络进行调试.我通过端口5555连接,通常可以逐步通过断点.但是执行一行代码通常需要几分钟,而另一件事是我没有看到任何没有成员的变量.我所看到的只是this对象,但方法中没有变量.我该如何启用它?

在此输入图像描述

正如您所看到的,我在方法中,并且至少初始化了活动对象,但它在变量监视器中不可见.

更新:

使用USB调试时问题仍然存在.没有局部变量可见,即使在调试时尝试计算表达式时也是如此:

在此输入图像描述

Android Studio 2.1,Gradle 2.1.0,Java 1.8

小智 16

有同样的问题.

Android Studio中存在错误,请参阅https://code.google.com/p/android/issues/detail?id=93730

他们建议在build.gradle(app)中删除,这解决了我的问题.

android {
    buildTypes {
        debug {
            ...
            testCoverageEnabled true
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 应该是testCoverageEnabled false (3认同)

Orl*_*uez 8

在解决了同样的问题一段时间后,我意识到我正在运行一个发布版本而不是一个调试版本。

默认情况下,Android Studio 中可能不会打开构建变体窗口。转到工具窗口 -> 构建变体。在“构建变体”窗口中,选择适当的构建。

在您的 app.gradle 文件中,确保在您要调试的构建变体中将 debuggable 设置为 true:

android {

   // ...

   buildTypes {

      release {
         // ...
      }

      debug {
         debuggable true
      }

   }

   // ...

}
Run Code Online (Sandbox Code Playgroud)

如果您想调试您的发布版本,请继续添加debuggable true到您的发布版本。

希望这可以帮助!

  • 这个答案的第一段一针见血。有同样的问题。哦! (2认同)

Mar*_*ine 5

我尝试将testCoverageEnabled设置为false,但这对我不起作用。就我而言,我启用了ProGuard以实现调试风格,并且禁用它(即将minifiyEnabled设置为false)是唯一使我能够在再次调试时看到局部变量的功能。


Cri*_*nge -3

Java 1.8 不支持访问变量值。

将 Gradle 更新到版本 2.2.0-beta3:

在你的 gradle-wrapper.properties 中

distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
Run Code Online (Sandbox Code Playgroud)

在您的项目 build.gradle 文件中

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-beta3'
}
Run Code Online (Sandbox Code Playgroud)

  • 请重新表述这个答案,它具有误导性。 (4认同)