Android Studio 第4节 调试初步

更新时间 修改意见
2016-08-02 陈敏

第4节 调试初步

Android Studio提供了部署应用到设备上运行的方法和不少方便的调试工具。这里我们先介绍几个最为简单常用的方法。

4.1 部署应用

将应用程序通过Android Studio运行到设备上有两个方式:“run app”和“debug app”。

“debug app”模式下,程序运行起来之后可以直接进入断点调试模式,对代码进行静态调试;而“run app”只能通过“attach”的方式进入断点调试模式。这两种方式可以通过菜单项启动,也可以通过快捷键开始,由于经常使用,我们最好熟练的使用快捷键方式。能否熟练的使用快捷键也是区分的高手与新手的重要指标。

4.2 静态调试方法

静态调试就是冻结应用运行的状态,仿佛时间停止了一般,然后我们逐一观察此时程序的各个参数是否符合我们的预期。
首先,在希望代码暂停运行的地方打断点——在代码前点击一下,出现一个红色的圆点,如果想取消,再点击一次即可。

然后,用debug run的方式部署程序。
当程序运行到这段代码的这个位置时,程序将停止下来,切换到“Debug”窗口。这时,我们就可以观察各个参数了。

例如上图右半区域就列出了停止时,各个变量的值;左边区域展示了当时函数到调用栈(谁调用的这个函数)情况。我们可以逐一分析,详细观察,看这些值是否符合我们的预期。
尝试下面的功能,看看程序运行的走向是如何进行的:

这些都是断点调试经常使用到的、由我们控制程序运行步骤的功能,所以尽量记住它们对应的快捷方式。

4.3 动态调试方法

对于那些和时间相关的程序(不能让程序暂停,等你慢慢观察),我们就不能使用静态调试方法了,得采用动态调试,添加log的方式。
Log的中文名字叫做日志,在编程界表示程序运行过程中打印出的信息。根据log我们就知道现在程序运行到什么地方了,log还可以携带程序中某些变量的信息输出,让我们更精准的知道程序当前运行的状态。在代码中添加一段函数,就能通过特别的工具输出这些log。
在Android代码中添加log的方式如下图:

红色区域表示我们要添加的代码。这里面使用了Android提供的Log库。
Android应用开发的Log库提供了几种不同等级的log:verbose debug info warning error,我们可以根据自己log的需要加不同等级的log,使用的形势为:

X代表v d I w e,例子中我们用的w,我们在应用中调试程序,通常就使用d。
Log输出的结果是我们通过ADB工具,在电脑端观察到的。在Android Studio中,就是通过Android Device Monitor观察到的(实际上ADM也是利用ADB工具实现的观察)。


/**************************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。
/
**************************************************************************/