使用DDMS
它的文件浏览、LogCat以及method profiling功能是使用最多的功能
文件浏览查看需要分析的程序在安装目录下生成的文件,分析这些文件的内容可以对程序的设置及数据有初步的了解
LogCat则可以输出软件运行时的调试信息
method profiling用于跟踪程序的执行流程
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,
DEBUG,INFO,WARN,ERROR。
1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(“”,””);
2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择;
3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息;
4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息;
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了;
代码注入法
所谓的代码注入就是反编译Android程序,然后在反编译出的smali文件中添加log调用的代码,最后打包程序运行来查看结果。
代码添加:一般形式如下
invoke-static{v3,v0},landroid/util/log;->v(Ljava/lang/String;Ljava/lang/String;)
栈跟踪法
使用特征函数法来查找Toast的调用
只需要在它的调用函数下面添加相应代码即可
|
|