Android调试找bug工具

高级调试

目标:1.介绍各种调试应用程序的方法;2.学习如何查看APP内部运行情况;3.了解APP将出现什么样的运行结果;

 

Eclipse Debug透视图

DDMS透视图:Devices视图(查看连接设备);模拟器控制(电话呼叫等模式);文件管理器(查看传输设备的文件);线程;堆和配置跟踪器(App内部运行);视图层次透视图(APP实际视图结构);Traceview(APP中转储文件分析);StrictMode(用于检查策略错误,发现使用户体验糟糕的设计错误).

 

模拟器中测试:ADT插件负责所有要用到的东西.

真实设备上调试:1:APP必须设置为可调式模式(创建调试版本即将android:debuggable=true,若为生产版本ADT设置为false,若手动设置则一直保留).2:将设备设置为启用USB模式(设备的开发人员选项启用USB调试).

 

 

Logcat用于查看日志消息

开发人员希望对APP运行更多的控制

Debug透视图:

在代码中设置断点,使APP运行到断点位置暂停;

检查变量值;单步执行代码;运行的APP上附加调试器;

APP从调试器断开;查看堆栈跟踪信息;查看LogCat.

DDMS透视图(查看设备上运行的APP;观察线程和内存运行情况;收集运行过程中产生的统计信息).

内存堆的检查:

Dump HPROF File:

创建HPROF文件,MAT插件会处理该文件,显示结果信息,用于查找内存泄露.

 

Updata Threads:(用于填充Threads选项卡,所选APP当前线程集)

用于查看线程的创建与销毁,从线程级别了解APP运行情况.

 

Start Method Profiling:(收集APP方法的信息,包括调用次数和计时信息)(即Traceview)

点击stop后显示:

          

该窗口显示方法性能分析的结果.

 

Stop按钮:

 

照相机图标:

用于捕捉当前的设备屏幕状态,功能:刷新,旋转,保存,复制.

 

刷新视图中的设备列表:

 

右边选项卡:Allocation Tracker(跟踪各部分内存分配信息)

Get后,start至这段时间的内存分配列表显示在视图中.

 

Emulator Control:模拟器控制台(模拟电话呼叫,SMS信息等事件),仅用于模拟器调试.

 

Hierarchy View透视图:(模拟器专用,查看APP视图,结构和属性)

注意:若采用后台线程可能会耗费很长时间

 

Pixel Perfect View:(提供放大的图像查看器,支持各个像素及其颜色)

可以将截图与其他图像叠加,进行比较,如需复制特定外观则为绝佳方式.

 

 

使用android.os.Debg类获取详细的APP跟踪信息:将在设备SD卡创建跟踪文件,文件名:basename.trace

启动跟踪方法:Debug.startMethodTracing(“basename”);

停止跟踪方法:Debug.stopMethodTracing(“basename”);

需要添加时添加,限制记录到跟踪文件的统计数据量,将此文件复制到工作站.使用SDK工具traceview(文件名的唯一参数),查看跟踪输出结果

指出各个方法的被调用者,调用频率和执行时间,线性排列,不用颜色区分,发现占用太多时间或调用次数过多的方法

猜你喜欢

转载自blog.csdn.net/zsx_xn20001/article/details/94918239