当前位置: 首页 > 工具软件 > Android Core > 使用案例 >

android coredump 调试

范霄
2023-12-01

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的配置



      

 类似资料: