解决android 4.4及5.1无法使用Systrace

针对Android 4.4和5.1设备上Systrace无法使用的问题,本文提供了详细的解决方案。当尝试使用Systrace分析系统卡顿时,发现/sys/kernel/debug/下缺少traceing节点。通过检查和修改deconfig文件,启用必要的配置选项,如CONFIG_TRACING等,并进行编译,可以解决此问题。在Android 5.1上,执行Systrace时遇到权限错误,通过adb root获取超级用户权限后,能够成功收集trace数据。
摘要由CSDN通过智能技术生成

 

Systrace的详细使用说明及介绍请参考:https://blog.csdn.net/LAMP_zy/article/details/53375521

最近接到客户反馈在android4.4版本的平台上适配新的apk出现了整个系统非常卡顿,UI刷新非常慢,从top -t -m 5和vmstat命令中无法分析出具体原因,咨询了公司的android系统方面的大神,需要使用SDK中的Systrace才能更好的分析问题的原因。于是在网上找到了相关博客了解并摸索抓trace进行分析,但是很不幸出现了打开节点的报错。

根据报错的信息来看,Systrace功能依赖/sys/kernel/debug/下面的traceing节点,但是打开失败。我用串口在cat /sys/kernel/debug/发现找不到traceing节点。一般来说traceing节点是android默认自带的,如果出现了有/sys/kernel/debug/,但是找不到traceing节点的问题就是在init.rc中执行了mount debugfs debugfs /sys/kernel/debug,但是中缺少某些config导致的。

请检查项目使用的deconfig文件,增加以下config:

CONFIG_TRACING=y

CONFIG_FTRACE=y

CONFIG_CONTEXT_SWITCH_TRACER=y

CONFIG_FUNCTION_TRACER=y

CONFIG_IRQSOFF_TRACER=y

CONFIG_SCHED_TRACER=y

CONFIG_STACK_TRACER=y

CONFIG_EVENT_TRACIN

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值