当前位置:网站首页 > R语言数据分析 > 正文

systrace工具(Systrace工具)



有学员朋友近来有问到一些安卓系统开发过程中的一些核心小技能小技巧等,比如native crash在企业里面该如何准确定位具体代码函数,程序卡住,或者长时间没反应,想要看看卡在代码的哪里。针对以上的一些问题,我这边分享一些工作中常用积极该类问题的一些辅助工具命令技巧,帮助大家更好的在工作中定位这类问题。

先看看常见native日志中可以获取的堆栈情况

上面堆栈都是一些地址码和大概的函数堆栈,所以一般没办法直接和java代码一样定位到具体的行数等。一般user版本也就只有上面的crash的堆栈信息,虽然没办法定位到具代码crash行数,但是可以得到一些线索:

1、根据堆栈可以得出这个其实是一个空指针的crash

2、crash的地方可以大概定位到是在  /system/bin/robert 的print_all_event()方法

但是具体函数user版本的话就看不出来,如果可以复现的话其实这个问题也好处理,因为可以考虑直接系统上复现,使用源码进行debug到具体函数,再不行还可一行行打log也可以缩小定位。

有源码+可以复现crash情况下,可以使用工具llvm-addr2line定位具体代码行数,方法如下:

上面来举例,堆栈获取最顶部的一行

#00 pc 0000000000009f18  /system/bin/robert (print_all_event()+60)

0000000000009f18就是16进制地址  robert就是bin print_all_event方法 就拿上面案例来测试:

去除路径核心就是 : llvm-addr2line -Cfe robert 0000000000009f18 print_all_event

上面经过工具后既可以得到出错代码是在 robert/getevent.cpp:270 下面看看这个270行代码

确实有空指针

经常调试偶尔发现app可能卡住,没反应的情况,这个时候就很希望知道卡住这时候的进程的一个运行情况,希望可以得到一个和anr trace一样的文件来方便分析定位线程状态,即想要获取进程的backtrace。 注意获取进程backtrace方法都需要root

使用命令:

执行后在/data/anr/目录生成backtrace文件

pull出anr下面的文件及打开:

可以看出卡顿时候其实是main主线程卡在onResume方法里面,线程处于sleep

使用debuggerd 命令 debuggerd -b pid (针对native bin)

案例如下: robert进程的backtrace

更多framework详细代码和资料参考如下链接

投屏专题部分:

hal+perfetto+surfaceflinger

https://mp.weixin..com/s/LbVLnu1udqExHVKxd74ILg 其他课程七件套专题:

点击这里 https://mp.weixin..com/s/Qv8zjgQ0CkalKmvi8tMGaw

视频试看:https://www.bilibili.com/video/BV1wc41117L4/

参考相关链接: https://blog.csdn.net/zhimokf/article/details/

更多framework假威风耗:androidframework007

到此这篇systrace工具(Systrace工具)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • hrnet group中国(hrg group)2026-05-20 12:54:05
  • rabc权限设计(权限设计rbac 权限设计)2026-05-20 12:54:05
  • aifree是什么耳机(aifree耳机是什么牌子)2026-05-20 12:54:05
  • nonetype翻译(nonporfit翻译)2026-05-20 12:54:05
  • 群晖设置root密码(群晖密码设置要求)2026-05-20 12:54:05
  • crnaira手表价格图片(crnaira手表最高价格图片)2026-05-20 12:54:05
  • strace(strace用法)2026-05-20 12:54:05
  • aurocean是哪个国家的品牌(aurora是什么牌子手表是哪国的)2026-05-20 12:54:05
  • swagger2配置security(swagger2 配置)2026-05-20 12:54:05
  • 61850sv报文(6ra80报文设置)2026-05-20 12:54:05
  • 全屏图片