Android软件开发之Debug调试与LogCat调试详解
2015-06-15 21:03
453 查看
在网上看到一个关于程序猿的笑话,程序猿的三重境界 第一重:无尽bug常作客,困闷调试伴不眠。第二重:千行代码过,bug不沾身。第三重:编码间,bug灰飞烟灭。所以,查找修改bug也是程序猿进阶的重要点,于是我对这方面做了一个积累。 关于调试的重要性 1、调试是程序员无法回避的工作。调试方法有许多种,但归根结底,就是找到引发错误的代码 2、Debug调试可以快速准确的定位到错误问题的位置,以及它的调用关系 3、Debug调试程序是程序员必备的技能之一
接下来介绍调试的步骤,以及快捷键
1、开始Debug程序,通过eclipse的Debug As启动程序或是通过工具栏上的小瓢虫来启动程序 2、添加断点 1、Ctrl+Shift+B 添加断点 2、双击添加断点 3、程序运行到断点位置会自动停止到断点代码 4、开始追踪程序 F6逐行追踪 F5进入方法 F7跳出方法 F8下一个断点或是结束Debug
注:(程序停留后查看变量的数值)
蓝框中的内容表示为断点的入口方法, 就好比你的断点是从那个方法进来的,学会看这个真的非常重要, 好比我现在明确知道我的一个方法在被调用的时候方法中会出现错误,但是这个方法在程序中100个地方都在调用,我可能断定实在那里调用的时候出的错误,我不可能在100个调用它的地方都加一个断点,我可以在方法中添加程序断点 然后在篮框中查看程序是从那个地方走进这个方法的,便可以快速定位问题所在。
绿框中可以查看当前方法中所有变量的值,但是如果变量非常多在这里看就比较麻烦,可以使用红框的方法查看。
红框中可以右键变量名点击咖啡框中的watch 后 在紫框中Expressions 就可以看到变量的数值了。
BreakPoints 中会记录程序中添加过多少程序断点。
关于LogCat调试
首先,我们要了解LogCat的作用: 1、logCat是用来获取系统日志信息的工具,可以看到的信息包括Dalvik虚拟机信息,进程信息,Android运行时信息,以及应用程序信息。 2、我们可以通过添加程序日志的方式,来对程序进行简单的追踪。LogCat是比较轻便简介的调试方式。 与Debug调试的区别: Debug调试一般用于相对来说比较复杂的问题’ LogCat一般用于相对来说比较容易追踪的问题
Log日志级别
1.Log.v(tag,message);//verbose模式,打印最详细的日志,颜色为黑色 2.Log.d(tag,message);//debug级别的日志,颜色为蓝色 3.Log.i(tag,message);//info级别的日志,颜色为绿色 4.Log.w(tag,message);//warn级别的日志,颜色为橙色 5.Log.v(tag,message);//error级别的日志,颜色为红色
关于LogCat的基本小知识:
tag用来标记Log消息的源头,而message则是这条Log的内容。 错误信息的级别最高,其次是警告信息,然后是通知信息以及Debug信息,级别最低的是详细信息。 从日志的输出数量来算,error,warn,info,debug,verbose,数量从少到多。
讲的也都差不多了,接下来分享一些Eclipse中Debug跟Log的一些小技巧
watch 过的变量 和我们自己加的程序断点不会被Eclipse 自动删除 除非我们手动删除否则会一直留在紫框中,这些数值会拖慢Eclipse 开发工具,如果过多的话很可能会造成 Eclipse 崩溃(有可能是Eclipse的BUG),让开发变得非常痛苦,所以雨松MOMO在这里建议大家在每次Debug调试的时候将紫框中之前 加的程序断点 和 watch过的变量 全不手动清空,只添加这一次调试须要的断点就可以了,这样的话 Eclipse 就不会被这些拖慢进程的东西所导致崩溃。 关于LogCat过滤,可以在Saved filters中添加一个关于System.out的过滤标签,
希望能帮到初级程序猿~~更希望能提点意见~~或我哪里写的有问题~~
相关文章推荐
- android 项目大全,总有你所需的
- [转载]Android APK反编译就这么简单 详解(附图)
- Android--多线程之Handler
- Android程序如何读取手机联系人
- Android(java)学习笔记110:ScrollView用法
- Android实现数据存储技术
- DBExecutor android 数据库框架
- Android定制ListView
- Android布局大全
- Android的五大基本组件
- android-auto-scroll-view-pager
- Macbook下Android studio删除project的方法
- Android多点触控技术
- Android: 一个两点触控的案例
- Android布局优化之Merge Include ViewStub使用与源码分析
- Android的ADB工具使用
- Android模拟器adb命令介绍
- 关于部分Android手机安装apk,无法获取正常的logo
- Macbook的android studio创建project时,加载gradle慢的解决办法
- Android数据库更新并保留原来数据的实现