【转】Android Eclipse调试技巧
原文地址: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调试技巧的更多相关文章
- Android Eclipse调试技巧
在Android 应用程序开发中我们经常需要调试程序,可以说调试在我们的日常开发中起着十分重要的作用,下面就以Elipse开发环境总结一下调试技巧. 一.Debug 断点调试 所谓断点调试就是指在程序 ...
- android studio 调试技巧(简直太好用)
android studio 调试技巧(简直太好用) 说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原 ...
- 【转】你所不知道的Android Studio调试技巧
这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...
- 你所不知道的Android Studio调试技巧
转载:http://www.jianshu.com/p/011eb88f4e0d Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug ...
- Java程序员应该知道的10个Eclipse调试技巧
Eclipse是众多Java程序员实用的开发工具,其中开发技巧也是繁多,但作为优秀的Java程序员,需要掌握最起码的调试技巧. 1 条件断点 2 异常断点 3 监视点 4 评估/检查 5 修改变量值 ...
- (转)程序员应该知道的10个eclipse调试技巧
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...
- Android Studio & eclipse 调试技巧
如上图设置多个断点,开启调试.想跨断点移动到下一个断点,点击如下图1箭头,程序将运行一个断点到下一个断点之间需要执行的代码.如果后面代码没有断点,再次点击该按钮将会执行完程序.点击箭头2指向的按钮,可 ...
- Android 程序调试技巧汇总
1.Android Studio 引入一个项目作为library https://www.cnblogs.com/lixiangyang521/p/7453322.html 2.Android Stu ...
- Android开发工具——Android Studio调试技巧
.调试的两种方式 到目前,调试的相关基础我们已经介绍完了,但是不少同学对Android Studio中这两个按钮感到困惑:Debug和Attach process. 这里我们就简单介绍一下这两者的区别 ...
随机推荐
- 【Java实战】源码解析为什么覆盖equals方法时总要覆盖hashCode方法
1.背景知识 本文代码基于jdk1.8分析,<Java编程思想>中有如下描述: 另外再看下Object.java对hashCode()方法的说明: /** * Returns a hash ...
- Linux RTC Test Example rtctest.c hacking
/********************************************************************** * Linux RTC Test Example rtc ...
- 关于C++一些面试题目的总结
众所周知,在找工作时笔试题目往往对C++有大量考察,现在我们总结一些C++中比较重要而且可能会考到的知识. 1.判断一下A,B,C,D四个表达式是否正确. int a = 4: A:a += (a + ...
- MapReduce工作原理(简单实例)
Map-Reduce框架的运作完全基于<key,value>对,即数据的输入是一批<key,value>对,生成的结果也是一批<key,value>对,只是有时候它 ...
- 阿里云ECS 环境是CentOS 7.3安装mongodb3
CentOS安装mongodb https://www.cnblogs.com/zddzz/p/10069912.html CentOS安装mongodb 我的是阿里云ECS 环境是CentOS 7. ...
- win8.1下安装双系统ubuntu14.04.3
一.去ubuntu官网下载长期支持版的系统,64位还是32位由物理内存而定,4G以下用32位,4G以上(包括4G)使用64位. 二.若64位的系统,下载下来的文件名应该是ubuntukylin-14. ...
- ssh连接至Ubuntu服务器时,提示以下错误:REMOTE HOST IDENTIFICATION HAS CHANGED!
今天在使用Ubuntu搭建自己的git仓库的时候,搭建完成后clone时出现以下错误 经过搜索问题出现原因的描述如下:第一次使用SSH连接时,会生成一个认证,储存在客户端的known_hosts中. ...
- svn问题解答
一.svn在提交文件是报错:previous operation has not finished;run 'cleanup' if it was interrupted 原因,工作队列被占用,只需在 ...
- 网站使用QQ登录问题小结
关于网站如何使用QQ登陆这个问题就不多说了,很简单,登陆connect.qq.com找到相应的SDK,下载下来,里面会有demo,将相应的appid,appkey和回调地址callback改成自己的就 ...
- grpc gateway 使用以及docker compose 集成
1. grpc gateway 安装 参考,比较简单,有需要的依赖可以参考相资料 mkdir tmp cd tmp git clone https://github.com/google/protob ...