本文做者:周才智 转载须注明做者与出处,违者必究!java
话说诸葛亮是一个优秀的程序猿,每个锦囊都是应对不一样的case而编写的!可是优秀的程序猿也敌不过更优秀的bug!六出祈山,七进中原,鞠躬尽瘁,死然后已的诸葛亮只由于有一个错误的case-马谡,整个结构就被break了!
BUG真的是一个很讨人厌烦的东西,它老是在你觉得本身已经打败它的时候跳出来嘲笑你。如何才能拿下这些烦人的BUG呢?我想要从DEBUG开始。这里给刚刚接触编程的新手们介绍一下Debug的方法,学会了这些方法后反复练习,当你积累了上万的有效代码量之后天然会发现你的水平将大大精进。android
Android Studio:几乎全部的编译器都会带上本身的DEBUG调试器,因此先来说讲这个。我这里就以Android studio为例,Android studio是谷歌推出的专门同来进行Android开发的软件,因为针对性比eclipse强因此里面集成了不少插件我的以为比eclipse方便很多。如今多数安卓开发者都在使用这款IDE了。
Android Studio自带模拟器:简单讲Android不像C或者C++甚至是单纯的Java编程。它从设计到编写程序到调试,都离不开手机,Android Studio自带一款强大的模拟器,他能在电脑上模拟出一台手机,若是你不考虑程序在真实设备上的兼容性,这款模拟器已经很是棒了,通常程序在开发阶段的须要都能用模拟器来知足。编程
云手机:模拟器也有缺点,它的效率比较低,而且程序在真机上的运行状况,远比模拟器要复杂,因此开发者的程序写好后还须要用真机来调试。我不太不肯意用本身手机调试,因此会用Testbird的云手机,它们会在云端提供好几百款主流手机,你能够直接用Android Studio等IDE,去远程链接这些机器作调试,简直就是为调试Android程序量身定作的。
Testbird官方注册地址(如今送价值260元的体验机时)eclipse
首先在创建一个默认的空白工程以后,咱们先在工程里面加点儿东西,这样咱们才有东西可调。由于这篇文章是写给新手们看的(调试都不会你敢自称老手?),你们都知道Android编程里很是重要的一个概念就是MVC,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。其中模型(model)你们能够无论,由于这涉及到结构和数据类型,本例还涉及不到。函数
View能够这么归纳——你在手机上所看见的都是view或者由view组成的,但这句话反过来是错的,View并不都是可见的。至于controller控制器你能够将其理解为你的控制逻辑。在Android studio默认工程里面原本是有一个TextView和一个信封样的按钮,咱们能够对这个默认工程做出以下修改:添加一个Button按键,在用户按下该按键以前那个TextView显示的内容为默认的“Hello world!”。当用户按下按钮之后该TextView变成“->按下的次数”。我把具体步骤贴在这儿:工具
以Design形式打开content_main.xml,拖出一个Button控件,再进入content_main.xml的Text形式,在button里面加入这样一句话:android:onClick="Btn1_Click",而后进入MainActivity.java文件,依次加入下面的语句:
import android.widget.*; // 引入JAVA包
…
TextView textView;//建立一个TextView对象
Button button; // 建立一个button对象
int count = 0;
…
在onCreate()方法中添加以下语句:
button = (Button)findViewById(R.id.button);
textView = (TextView)findViewById(R.id.textView);//这两句话将View和controller联系了起来,也就是说你对手机上view的操做有了这两句话才能反映到你的控制逻辑也就是程序中来~布局
`public void Btn1_Click(View view)`//按键后要做出反映的函数。 { String str = "---->" + count; textView.setText(str); count++; }
而后运行程序就能够了,按一下数字就会增长一个。这里先上一张图(我用的是云手机,你们有条件的能够用本身的手机或者模拟器):spa
第一步,设置断点
如今初始程序就算是完成了,接下来讲说调试,Android调试首先你得知道本身在哪儿打断点,它不像C语言那样只有C文件在你想打哪儿打哪儿。Android主要有两种形势的文件,一种是.java文件一种是.xml文件。打断点只能打在.java文件里面,由于.java文件就是控制逻辑。而.xml文件你们能够理解成视图文件或者叫布局文件,程序走逻辑流程是永远不会走到那儿的,就算到了也没有任何的意义。打断点的方式也很是简单,只是在某一行代码前用鼠标左键点一下出现了红圆点就表示打断点成功了。以下图:插件
打点是使用DEBUG的第一步,那么接下来就只须要点击run->debug”run”就能够了。当你的程序运行到断点所在的位置的时候程序就会自动暂停,以下图:debug
若是你是经过DEBUG运行程序手机也会有提示,你们能够看看。
而后程序若是运行到断点处你就会看见某行处于被选中的状态,这个时候程序已经暂停了。
这个时候你能够选择继续运行到下一个断点或者本身一步一步的跟踪调试下去:
一步步调试(F8)
直接运行到下一个断点(F9)
Debug的操做核心就只有这简单的三步:打断点,经过DEBUG运行程序,按本身的须要选择调试方式(调试途中也能够打断点)。
今天主要给你们简单的介绍了一下Debug,是基本使用方式,下一节将为你们具体讲解DEBUG的用法和特性。