在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 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
楼主有办法了吗,求共享!