时间:2021-05-21
本文主要为大家讲解多种Android调试工具的用法。
1. 查看当前堆栈
1)功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系。
2)方法:
new Exception(“print trace”).printStackTrace();
2. MethodTracing
1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等。
2)方法:
a)在程序代码中加入追踪开关:
import android.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”); // 先建/data/tmp目录 …… // 被追踪的程序段 android.os.Debug.stopMethodTracing();b)编译,运行后,设备端生成/data/tmp/test.trace文件。
c)把trace文件复制到PC端
$ adb pull /data/tmp/test.trace ./
d)使用android自带工具分析trace文件
$ $ANDROID_SRC/out/host/linux-x86/bin/traceview test.trace
此时可看到各个函数被调用的次数CPU占用率等信息。
e)使用android自带工具分析生成调用关系类图
$ apt-get install graphviz # 安装图片相关软件
$ANDROID_SRC/out/host/linux-x86/bin/dmtracedump -g test.png test.trace
此时目录下生成类图test.png
3)注意
trace文件生成与libdvm模块DEBUG版本相冲突,所以此方法只适用于对非DEBUG版本模拟器的调试,否则在分析trace文件时会报错。
3. HProf (Heap Profile)
1)功能:
用于java层面的内存分析,显示详细的内存占用信息,指出可疑的内存泄漏对象。
2)方法:
a)在代码中加入dump动作:
b)把hprof文件复制到PC端
$ adb pull /data/tmp/input.hprof ./
c)使用命令hprof-conv把hprof转成MAT识别的标准的hprof
$ $ANDROID_SRC/out/host/linux-x86/bin/hprof-conv input.hprof output.hprof
d)使用MAT工具看hprof信息
下载MAT工具:http://.android.settings -v 500
此时可以看到界面不断被切换。
9. 其它小工具
具体见android.os.Debug中提供的工具。
1)取毫微秒级的时间,用于计算时间
threadCpuTimeNanos()
2)统计两点间的内存分配情况:
startAllocCounting() stopAllocCounting() getGlobalAllocCount() get…..3)打印当前已load的class
getLoadedClassCount()
printLoadedClasses() 它需要打开NDEBUG功能才能打开system/core/中Log功能
10. 打印debug信息
$ adb bugreport
以上就是对Android 调试工具的资料整理,后续继续补充相关知识,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android调试工具,这里做一个总结整理。DDMS--Dalvikdebugmonitorservice调试监控服务对模拟器进行相关配置。ADB进程Andro
Fiddler是一款免费的抓包、调试工具,比Wireshark要小巧,更简洁,本节就来介绍如何通过WIFI来抓取Android手机的HTTP和HTTPS包。一、
本版本的Windows调试工具文档描述了4种Microsoft调试器:WinDbg,KD,CDB,NTSD和其他调试工具。WinDbg,KD,CDB,和NTSD
VisualStudiodebugger是一个很棒的调试工具,可以帮助程序猿们快速地发现和解决问题。这里给大家简单介绍一下VS调试工具中的七个鲜为人知的小功能。
论坛上有人问javascriptDebug的工具,在这里就推荐两个javascript的调试工具给大家,今后我也会说一下调试的方法。IE下推荐的调试工具就是VS