Break on variable value change in Android Studio 1.1.0?

不羁的心 提交于 2019-12-31 11:32:39

问题


I know I could set a breakpoint at every line where my code changes the variable, but is there an option such as right-clicking a variable (to "Add to Watches") that would stop when a variable changes value?

I think C++ has this option. See this.

And Eclipse? See this.

Is this implemented in AS?


回答1:


You can break on value changes of some variables in Android Studio 1.1.0.

Android Studio calls them 'Java Field Watchpoints'.

From the breakpoints windows, (Run -> "View breakpoints...") or Ctrl+Shift+F8, you can add "Java Field Watchpoints" from the plus in the top left corner, and then select your class and variable.




回答2:


If the goal is simply to set a watchpoint where execution halts if a variable's value changes, there are two methods:

Pressing Ctrl-shift-F8 to set a watchpoint brings up this dialog:

That looks more powerful but it's confusing because it lacks the option I need; and there's an extra step: filling in the dialog box below:

Once you fill it in correctly, you get the same options for stopping execution as in the simpler method below:

  1. Define the variable on one line ending with a semicolon.
  2. Left-click in the area where you set a normal breakpoint and up pops a dialog box.
  3. Choose options to suit your needs.

Any instance where the value of the variable prefDbExists changes, execution will pause as at any "normal" (unconditional) breakpoint. And that's all I needed when I asked the original question.


EDIT: Fully qualified class name is {package name}.{class name})




回答3:


What you seek for is commonly known as "WatchPoint". You will find detailed answer and examples on the doc. page of JetBrains - IntelliJ - Idea which is the basis for Android Studio.

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

For me this works perfectly !



来源:https://stackoverflow.com/questions/30226832/break-on-variable-value-change-in-android-studio-1-1-0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!