原文地址:https://www.cnblogs.com/tianchunming/p/5423942.html

Android Eclipse调试技巧

 

在Android 应用程序开发中我们经常需要调试程序,可以说调试在我们的日常开发中起着十分重要的作用,下面就以Elipse开发环境总结一下调试技巧。

一、Debug 断点调试

所谓断点调试就是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后可以一步一步往下调试。调试过程中可以看各个变量当前的值,如果出错的话,调试到出错的代码行即显示错误,停下。

调试步骤:

1.设置断点(三种方法):可以直接双击代码编辑器左边框添加、在代码编辑器左边框上右键弹出菜单选择Toggle Breakpoint、在光标停留的地方使用快捷键 Ctrl + Shift + B 将会在光标停留的这一行添加一个程序断点 (同样的操作方可取消程序断点);

2.开启调试会话:通过点击工具栏上的小虫按钮或者是在项目右键点击然后选择Debug As,Android Application菜单,启动程序的调试模式;

当程序运行到断点地方时就会停下,这时可以按照下面的功能键按需求进行调试:

  • Resume 断续运行到结束(F8直接执行程序),直到下一个断点处停止。
  • step Into 逐语句(F5单步执行程序),遇到方法时进入。
  • step Over 逐过程(F6单步执行程序),遇到方法时跳过。
  • step Return 单步返回(F7单步执行程序),从当前方法跳出。
  • Run To Line 运行到光标处(Ctrl + R)。

如果想要查看断点时变量当前的值:右键点击对应的变量,在菜单上选择 watch 菜单项,变量的值就会出现在 expressions窗口中。

二、Log 日志输出

Logcat

Logcat是Android  SDK中的一个通用日志工具。在程序的运行过程中可以通过Logcat打印状态信息和错误信息等。Logcat另外一个重要的用途是在程序启动和初始化的过程中向开发者报告进展状况。

可在Window->Show View->Other->Android->Log Cat 调出Logcat视图,在Logcat视图的工具栏中可以看到标记为V、D、I、W和E的几个按钮,他们的作用是对消息进行过滤。

常用的日志:

  • V(Verbose)显示所有类型的消息;
  • D(Debug)显示Debug、Information、Warning和Error消息;
  • I(Information)只显示Information、Warning和Error消息;
  • W(Warning)只显示Warning和Error消息;
  • E(Error)只显示Error消息。

输出日志: Log.v(TAG, strings);
说明:其中TAG 为日志标识符,一般用类名表示(方便查看此日志是某个类的输出),且一般声明为静态常量,stirngs 为要输出的字符串。例如:Log.v(TAG, strings)

当程序运行成功以后,在Window->Show View->Other->Android选中LogCat点击OK,这样就成功将LogCat添加到Eclipse中。

Logcat视图中会输出很多信息,我们可以创建一个过虑器用来过滤我们需要的信息。现在只有一个过滤器,All messages过滤器相当于没有顾虑器,因为会把所有的日志都显示出来。

在Logcat视图中点击添加按钮+,弹出过滤器配置窗口。

Filter Name:可以随意填写;
by Log Tag:自己定义的日志标识符;
by Log Message:可以不用填写;
by PID:可以不用填写;
by Application Name:可以不用填写
by Log level:选择你自己定义的日志,例如你的输出日志为 Log.i(TAG, strings),那么你就选择Info。

三、单元测试

1.配置AndroidMainfest.xml(两种方法)

第一种:

在application 中加入
<uses-library android:name="android.test.runner" /> <!-- 不要写入 activity 中 –>

在application 外加入
<!-- targetPackage 要与 mainfest 中的 package 的值相同,表示此包下的所有类都可以进行单元测试 -->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.test"  />

第二种:

在application 中加入
<uses-library android:name="android.test.runner" /> <!-- 不要写入 activity 中 –>

在AndroidMainfest.xml下选择Instrumentation标签页,点击Add,弹出窗口,双击选择Instrumentation

选择完Instrumentation后,Instrumentation标签页的右边会出现一些东西让你选,只要选择图中红色边框的中的就可以。其中name选项框点击Browse后会弹出一个窗口,稍等片刻后为弹出一个选项,直接选择即可;
Target package选择你要测试的工程包。

2.编写单元测试代码

在targetPackage 包中建立单元测试类 如:在com.example.test中建立PhoneSMSTest.java。 此类必须继承AndroidTestCase类 且其中的测试方法必须以test 开头。如:testPhoneSMS() 

1
2
3
4
5
6
7
8
9
package test;
 
import android.test.AndroidTestCase;
 
public class PhoneSMSTest extends AndroidTestCase {
    public void testPhoneSMS() {
 
    }
}

运行测试方法:在大纲视图(Outline)中找到测试方法->右健->Run As ->Android JUnit Test 或者点击测试方法->右健->Run As ->Android JUnit Test 。

 

【转】Android Eclipse调试技巧的更多相关文章

  1. Android Eclipse调试技巧

    在Android 应用程序开发中我们经常需要调试程序,可以说调试在我们的日常开发中起着十分重要的作用,下面就以Elipse开发环境总结一下调试技巧. 一.Debug 断点调试 所谓断点调试就是指在程序 ...

  2. android studio 调试技巧(简直太好用)

    android studio 调试技巧(简直太好用) 说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原 ...

  3. 【转】你所不知道的Android Studio调试技巧

    这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...

  4. 你所不知道的Android Studio调试技巧

    转载:http://www.jianshu.com/p/011eb88f4e0d Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug ...

  5. Java程序员应该知道的10个Eclipse调试技巧

    Eclipse是众多Java程序员实用的开发工具,其中开发技巧也是繁多,但作为优秀的Java程序员,需要掌握最起码的调试技巧. 1 条件断点 2 异常断点 3 监视点 4 评估/检查 5 修改变量值 ...

  6. (转)程序员应该知道的10个eclipse调试技巧

    调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...

  7. Android Studio & eclipse 调试技巧

    如上图设置多个断点,开启调试.想跨断点移动到下一个断点,点击如下图1箭头,程序将运行一个断点到下一个断点之间需要执行的代码.如果后面代码没有断点,再次点击该按钮将会执行完程序.点击箭头2指向的按钮,可 ...

  8. Android 程序调试技巧汇总

    1.Android Studio 引入一个项目作为library https://www.cnblogs.com/lixiangyang521/p/7453322.html 2.Android Stu ...

  9. Android开发工具——Android Studio调试技巧

    .调试的两种方式 到目前,调试的相关基础我们已经介绍完了,但是不少同学对Android Studio中这两个按钮感到困惑:Debug和Attach process. 这里我们就简单介绍一下这两者的区别 ...

随机推荐

  1. ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播

    本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269 需求 在做EasyDSS开发时,总 ...

  2. [Python] 跳过前几行快速读取文件内容:islice

    from itertools import islice start = 1 # 跳过第一行idx=0,从idx=1开始读取文件 with codecs.open('data.json', encod ...

  3. vue_ form表单 v-model

    插值两种方式:{{}},v-model v-model 可以用 v-model 指令在只能在表单 <input> 及 <textarea> 元素上创建双向数据绑定.它会根据控件 ...

  4. 程序设计入门-C语言基础知识-翁恺-第二周:简单的计算程序-详细笔记(二)

    目录 第二周:判断 2.1 比较 2.2 判断 2.3 课后习题 第二周:判断 2.1 比较 简单的判断语句: if(条件成立){ //执行代码 } 条件 计算两个值之间的关系,所以叫做关系运算 关系 ...

  5. 数据库备份mysqldump

    |--好友说:有些知识就是石头,走上这条路就没法绕过,就是牙齿啃碎了也要把它啃下来. ------------------------------------------ 针对当前备份做一个总结记忆: ...

  6. CFE Bootloader详解 — 引导过程

    CFE命令 CFE引导过程 系统加电后,CFE从boot.S (src/shared/boot.S)开始执行,完成判断芯片类型.设置时钟.初始化缓存.把自身加载进RAM等任务后,跳转到c_main() ...

  7. ssm+PageHelper实现分页查询

    通过搭建ssm框架,然后通过mybatis的分页插件pagehelp进行分页查询.源码:https://gitee.com/smfx1314/pagehelper 看一下项目结构: 首先创建一个mav ...

  8. HttpClient通信

    1.背景 大多数系统功能和代码都是自己写的,自己用,但是在有些情况下,我们可以利用已经存在的系统,完成对自己实现相对很麻烦的功能,这些一般代价相对较大,自己不可能专门写一个系统或者太过很复杂的代码来完 ...

  9. 细说VS MSBuild 和 Framework 的区别

    如今已经是 VS2017 横行的时代,而据我所知,大部分人还停留在使用 VS2015 VS2013 或更低的版本,主要是因为他们参与的项目基本使用这几个VS的版本开发的.眼红VS2017却不敢升级,主 ...

  10. 从数据库导出数据到excel之POI操作

    项目说明: 1:数据库中有两张表,主键关联 2:根据条件查询数据 3:处理为需要的数据封装类型,然后传到导出excel的方法中 <--框架部署就不详谈了,用的spring框架--> 补充: ...