Android下生成core dump的方法

linux下生成core dump文件方法及设置一文中,我们可以在linux平台下控制core dump文件的生成。理论上来说,按照此方法,在Android平台上作相应设置,应该也可以开启core dump功能,当程序宕机以后,我们可以根据core dump文件来调试程序。事实上,这种方法行不通,即:通过ulimit -c 命令不能使Android生成core dump。

在Android平台上,能够正确生成core dump的方法是修改init.rc文件。在init.rc中setrlimit 13 40 40下增加一条记录: setrlimit 4 -1 -1。至于如何修改init.rc,见 这篇文章

修改了init.rc之后,就可以生成core dump了。

但是,上面这种方法只适合纯用c/c++开发的程序,对于由app_process进程所启动的程序(dalvik执行的应用程序),并不能正确生成core dump,因为它们重置了rlimits。据说有个调试标记可以避开这个问题,但是现在还不知道如何确定,不知道是否有人知道,告之我一下,非常感谢!


posted on 2011-03-07 20:12 孔雀 阅读(4903) 评论(3)  编辑 收藏 引用 所属分类: Android

评论

# re: Android下生成core dump的方法 2011-03-11 16:36 李皮静 
setrlimit 13 40 40
setrlimit 4 -1 -1

是什么意思,能解释一下吗?
谢谢!
   回复   更多评论     
# re: Android下生成core dump的方法 2011-03-12 10:45 孔雀 
@李皮静
setrlimit 是一个C接口,用来设定资源限制的。

init.rc中原本的13 40 40具体意思我没有搞明白。

但是 4 -1 -1 代表的是设置core dump的大小,-1代表没有限制。
   回复   更多评论     
# re: Android下生成core dump的方法 2012-08-27 19:01 3lxl3 
对于由app_process进程所启动的程序
楼主有办法了吗,求共享!
   回复   更多评论     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值