android coredump 调试

coredump 可以用来调试android native 进程的异常

1、coredump 在android中打开

       设置coredump 大小

      ulimit  -c  unlimited   //不限制coredump 大小,也可以设置为具体值


2、设置coredump 文件名称,与路径   

    echo "1" >  /proc/sys/kernel/core_uses_pid  //设置生成coredump的文件名带有 异常进程的pid

    echo "/data/log/core-%e-%p" > /proc/sys/kernel/core_pattern  设置生成coredump的路径为 /data/log ,


3、使用ndk或源码编译 对应平台 带有symbols 信息的二进制文件

       ndk-build NDK_DEBUG=1  module

4、push 到手机中,更改权限,运行生成core文件

5、将data/log中的core文件导出来,使用对应平台的gdb进行调试

      gdb  module  core


上面这些动作,只能为native程序产生coredump,对于由zygote fork的apk进程则不会生成coredump,因为zygote在做初始化的时候会忽略Linux的配置,使用默认不生成coredump的配置,system server同样是由zygote fork的,所以也不会产生coredump,所以如果需要为system server配置生成coredump,如果其他apk进程需要产生coredump同样需要在开机初始化的时候为zygote做特殊的设置

所谓的特殊设置就是将zygote的启动参数中应用rlimit的配置



      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值