android strace使用

android如果需要跟踪系统调用,可以使用strace命令,

strace -p pid    对于已经启动的程序,通过-p参数可以attach上去跟踪之后的执行流程

如果要获取应用打开时的相关strace,可以使用 strace -f -p <pid_of_zygote>命令,

这个命令打印出进程的子进程的strace,所以对于应用,传人zygote进程id即可,因为应用是从zygote fork出来的,但是由于现在android上有zygote和zygote64,需要查看下应用进程的父进程是zygote还是zygote64,

以chrome为例,打开chrome,查看其进程,

ps -ef|grep chrom
u0_a300      11827  1246 1 19:27:30 ?     00:00:03 com.android.chrome
u0_a300      13334  1246 0 19:28:18 ?     00:00:00 com.android.chrome_zygote

可以看到其父进程是1246,

再看看zygote的进程号,

root          1245     1 0 06:31:36 ?     00:01:07 zygote64
root          1246     1 0 06:31:36 ?     00:00:22 zygote
webview_zygote 3795 1246 0 06:32:44 ?     00:00:02 webview_zygote

可以看出,chrome是由zygote fork出来的,

关闭掉chrome,

执行strace -f -p 1246

就可以获取之后由zygote fork出的进程的strace

再打开chrome,获取其PID,从打印的数据中根据PID进行筛选就可以得到chrome的相关数据。

参考资料:

android 调试利器之 strace_SIGSEGV的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值