我做android开发,打开coredump并在文件init.rc中设置核心文件转储路径到sdcard,使用以下代码:
setrlimit 4 -1 -1
write /proc/sys/kernel/core_pattern /sdcard/core.%e.%p
write /proc/sys/fs/suid_dumpable 1
它确实会生成核心文件,但其大小为0。如下:
mtk 0 2013-07-12 14:48 core.b2g.127
我修改代码如下:
setrlimit 4 -1 -1
chmod 0777 /data/core/
write /proc/sys/kernel/core_pattern /data/core/core.%e.%p
write /proc/sys/fs/suid_dumpable 1
它可以很好地工作,如下所示:
mtk 280055 2013-07-12 15:28 core.b2g.127
为什么我存储核心文件到SD卡出现问题?
检查sd卡安装是否正确,并检查其关于sd卡的属性(755),我们可能会在系统启动时将sd卡安装到/mnt或其他位置。方法如下,在init.rc文件中,在下面设置之前
setrlimit 4 -1 -1
write /proc/sys/kernel/core_pattern /mnt/sdcard/core.%e.%p
write /proc/sys/fs/suid_dumpable 1
执行以下设置:
mount /dev/mmcblk0p1 /mnt/sdcard
chmod 755 /mnt/sdcard.
我认为应该可以。