【问题标题】:Break on variable value change in Android Studio 1.1.0?打破 Android Studio 1.1.0 中的变量值变化?
【发布时间】:2015-07-25 10:47:31
【问题描述】:

我知道我可以在我的代码更改变量的每一行设置一个断点,但是是否有一个选项,例如右键单击一个变量(到“添加到手表”)会在变量更改值时停止?

我认为 C++ 有这个选项。 See this.

还有 Eclipse? See this.

这是在 AS 中实现的吗?

【问题讨论】:

    标签: android debugging android-studio


    【解决方案1】:

    您可以在 Android Studio 1.1.0 中中断某些变量的值更改。

    Android Studio 称它们为“Java 字段观察点”。

    从断点窗口,(Run -> "View breakpoints...") or Ctrl+Shift+F8, 您可以从左上角的加号中添加“Java Field Watchpoints”,然后选择您的类和变量。

    【讨论】:

    • 在按下 Ctrl+Shift+F8 并按下 + 后,您可以选择断点类型:(1) 方法、(2) 字段或 (3) 异常断点。谢谢,@Hrym。
    • 知道如何为 C++ 类成员做同样的事情吗?
    【解决方案2】:

    如果目标只是设置一个观察点,当变量的值发生变化时执行停止,有两种方法:

    Ctrl-shift-F8 设置观察点会弹出此对话框:

    这看起来更强大,但令人困惑,因为它缺少我需要的选项;还有一个额外的步骤:填写下面的对话框:

    正确填写后,您将获得与以下更简单方法相同的停止执行选项:

    1. 在以分号结尾的一行上定义变量。
    2. 在设置普通断点的区域左键单击,弹出一个对话框。
    3. 选择适合您需要的选项。

    变量prefDbExists 的值发生变化的任何实例,都会像在任何“正常”(无条件)断点处一样暂停执行。当我问最初的问题时,这就是我所需要的。


    编辑: 完全限定的类名{package name}.{class name})

    【讨论】:

      【解决方案3】:

      您所寻找的通常称为“WatchPoint”。 您将在文档中找到详细的答案和示例。 JetBrains - IntelliJ - Idea 页面,它是 Android Studio 的基础。

      https://www.jetbrains.com/help/idea/2016.3/creating-field-watchpoints.html

      对我来说这很完美!

      【讨论】:

        【解决方案4】:

        通过单击 Android Studio 中字段声明的行号旁边的空格来添加 Kotlin 字段观察点。从 Set Breakpoint 菜单中选择 Kotlin Field Watchpoint。现在,只要该值更改,您就会获得一个断点。

        【讨论】:

          猜你喜欢
          • 2014-12-05
          • 1970-01-01
          • 2018-08-12
          • 2015-11-10
          • 1970-01-01
          • 2021-04-24
          • 2019-03-20
          • 2011-12-16
          相关资源
          最近更新 更多