Android 基础库 - 调试体系 - 调试手段

Minidump

  • 需求定义

功能点

功能边界

备注

开关

 

 

上传

附带日志

对接simple-breakpad-server,可配置URL

 

 

 

使用Google Breakpad工具,生成crash dump文件(*.dmp)。

程序再次启动时,发现dump文件,上传到minidump服务器。

Minidump服务器目前使用simple breakpad server搭建,增加支持日志文件,系统信息。

支持主动dump,可以用于分析程序卡死。

Backtrace

主动生成backtrace文件,记录各个线程的当前调用栈,用于分析线程卡死等程序异常问题。

使用Android signal 3,文件生成在/data/anr/traces.txt,需要应用有目录访问权限。

支持多文件回滚。

Hprof

主动生成hprof文件,记录java对象图,用于分析java程序内存泄露。

使用Android相关API,生成文件在cache目录,以进程ID为名称。

Leakdump

  • 需求定义

功能点

功能边界

备注

显示弹框

 

可配置关闭

独立分析模块

 

独立APP,离线分析泄漏引用链

上传后台服务

附带日志

 

基于LeakCanary,将其开展,支持离线分析,日志上传。

Heapdump

主动生成heapdump文件,记录native程序堆内存使用情况,用于分析native程序内存泄露。

需要Android启动libc内存检测工作模式,需要eng 版本的rom。

LoopDump

监控Looper的运行状态,检测卡段和卡死。

功能点

功能边界

备注

消息处理耗时

 

超过1秒,打印警告

记录完整数据

包括idle时间

用于后续统计分析

检查卡死

 

另一个线程,busy,free

配置

开关

超时时间

 

FileDump

  • 需求定义

功能点

功能边界

备注

文件树Dump

 

通过状态输出模块输出

格式

ls –l格式

不包含Owner、软链接信息

控制台命令

 

 

下载文件

模式匹配

多目录

zip压缩

 

需求和问题:

  • 文件模式,与Linux定义不同(已经解决)

Android定义是三个bit一组,Linux是4个bit一组(有些bit无意义)

  • 常见目录(只有x权限,没有r权限),不能获取列表,但是部分项目是已知的(如:app-cache目录)(已经解决)

APP自己的cache目录

  • 文件所有者(User、Group)
  • 软连接目标

Android 4.4 以下获取不到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting Horse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值