Android Studio Debugger:当变量获得特定值时停止

时间:2016-06-11 10:22:18

标签: android debugging android-studio

场景: 我有一个变量,我想找出变量获取的位置和时间,例如值4.当发生这种情况时,调试器应该停在该行。

Android Studio可以实现吗?

2 个答案:

答案 0 :(得分:3)

如果我理解了你想要做的事情就是设置所谓的" Watchpoint"在Android Studio中,这里有一个指向IntelliJ文档的链接:

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

特别是,您要做的是在成员变量本身上设置一个断点,右键单击该断点并将监视设置为"字段修改"并设置该变量何时成为您尝试查找的特定值的条件。

所以,在这个简单的代码中:

public class MainActivity extends AppCompatActivity
{

int mWatchMe = -10;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        for (int i=0 ; i<20 ; i++)
        {
            mWatchMe++;
        }
    }
}

您可以在该行设置一个断点:int mWatchMe = -10;

设置&#34;条件&#34;和&#34;修改&#34;字段:
enter image description here

执行应该在任何地方打破&#34; mWatchMe&#34;设置为&#39; 0&#39;:
enter image description here

答案 1 :(得分:2)

这是可能的。右键单击断点,然后在条件字段中输入表达式“value == 4”。