原文地址: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. ios图标生成器网址 插件禁用后,可以选择这个

    1. 可以使用在线移动图标生成工具:图标工场http://icon.wuruihong.com/网站自动生成iOS所需的所有对应格式的图标 2. 如果直接选择iOS,会自动生成29pt.40pt.50 ...

  2. 推荐sinaapp谷歌搜索引擎,firefox自定义搜索引擎

    满园春色关不住,从此不用再FQ. 一直都在用谷歌,也一直都被和谐. 直到在迅影实习,知道了这个网站:http://goog.sinaapp.com/ 下面说说在firefox里面添加搜索引擎 首先打开 ...

  3. BZOJ1857 Scoi2010 传送带 【三分】

    BZOJ1857 Scoi2010 传送带 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P ...

  4. GraphQL和RESTful的区别

    GraphQL和RESTful的区别 http://graphql.cn/learn/ https://www.cnblogs.com/Wolfmanlq/p/9094418.html http:// ...

  5. hadoop2.x配合ZooKeeper集群环境搭建

    前期准备就不详细说了,课堂上都介绍了1.修改Linux主机名2.修改IP3.修改主机名和IP的映射关系 ######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机.阿里云主机 ...

  6. 微信小程序(2)——新建页面

    在当前版本中,我们可以快速的新建并且新建页面. 在app.json文件中输入 { "pages":[ "pages/index/index" ] } 输入&qu ...

  7. 《DSP using MATLAB》示例Example 8.13

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  8. sublime自动格式化代码插件HTML-CSS-JS Prettify安装

    sublime自动格式化代码插件HTML-CSS-JS Prettify安装 问题: 用 Sublime Text 格式化代码(安装 HTML-CSS-JS Prettify 插件)时,格式化时却会提 ...

  9. 使用distillery 实现版本的动态升级&& 动态降级

    备注: distillery  使用很棒的elixir 打包构建工具,下面演示的是升级以及降级   1. 参考项目 https://github.com/rongfengliang/phoenix-r ...

  10. gradle 配置java 项目maven 依赖

     1. 内置的 repositories { mavenCentral() } 2. maven 私服 repositories { maven { url "http://maven.al ...