![Android开发:从0到1 (清华开发者书库)](https://wfqqreader-1252317822.image.myqcloud.com/cover/572/26943572/b_26943572.jpg)
上QQ阅读APP看书,第一时间看更新
4.2 使用And roid Studio调试
Android Studio提供了强大的代码编辑、性能分析和调试功能,开发人员应该熟练掌握这些功能。下面介绍一下Android Studio通过的调试工具。
修改Hello Android中的MainActivity.java代码如下:
public class MainActivity extends AppCompatActivity{ private static String TAG ="HelloAndroid"; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int sum = 0; for(int i = 0; i 10; i++){ sum += i * i; System.out.println("sum :"+ sum); Log.i(TAG, "sum ="+ sum); } } }
如图4-9所示,要想在代码第19行设置断点,可以单击代码区域左边框,此时边框出现红色圆圈,这样断点就设置完成了。断点设置好之后,如果想让程序在断点处挂起,则需要调试方式运行,单击工具栏调试运行按钮或选择菜单Run → Debug 'app’就可以实现调试方式运行。调试运行后,程序运行到第19行挂起,如图4-10所示。
![](https://epubservercos.yuewen.com/73B1DF/15367246905322506/epubprivate/OEBPS/Images/Figure-0068-0067.jpg?sign=1739296490-yC6v0X2ioqsnvxwNLSNsQEjD0w3pdSDq-0-a5286b18e8df21cad68d99f0b24a0604)
图4-9 设置断点
![](https://epubservercos.yuewen.com/73B1DF/15367246905322506/epubprivate/OEBPS/Images/Figure-0068-0068.jpg?sign=1739296490-lHJ0TzZMyRs9YeKjSYQ2BX3TcYpKgrV1-0-7a7d55ed65254ef9298ce1ba15ef75b9)
图4-10 运行到断点挂起
当断点挂起时,可以在Debugger选项卡的Variables窗口中查看变量,从中可以看到sum等变量的内容。在Debugger选项卡中有很多调试工具按钮窗口,这些按钮的含义说明如图4-11所示。
![](https://epubservercos.yuewen.com/73B1DF/15367246905322506/epubprivate/OEBPS/Images/Figure-0069-0069.jpg?sign=1739296490-qFGvWHSDf5ugem9HMUp1F1390s3jgWRl-0-7ad9255e105f050dcdfd75260eda1ab0)
图4-11 调试工具栏按钮
另外,还可以为断点设置挂起条件。例如想要i=8时断点挂起,如图4-12所示,右击断点弹出对话框,Conditions中输入i=8,单击Done按钮关闭对话框。以调试模式运行,当i=8情况下断点挂起。
![](https://epubservercos.yuewen.com/73B1DF/15367246905322506/epubprivate/OEBPS/Images/Figure-0069-0070.jpg?sign=1739296490-xd5TAE1KLQsx2uKa1LilEz1Ugwt3jmSN-0-b7c84db229f404430f4be5a3d8d6146b)
图4-12 为断点设置条件
在调试选项卡中还有Watches窗口,可以用来观察变量或表达式的结果。如图4-13所示,单击Watches窗口中的按钮,在输入框中输入变量或表达式。
![](https://epubservercos.yuewen.com/73B1DF/15367246905322506/epubprivate/OEBPS/Images/Figure-0070-0071.jpg?sign=1739296490-keBul6PL9EC0oFK5wUikjEvASFqr1xqJ-0-9dc34fcf989437b0575c68844abe330f)
图4-13 Watches窗口