2

我做 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

为什么我将核心文件存储到 sdcard 会出现问题?

4

1 回答 1

1

检查 sd 卡挂载是否正确,并检查其关于 sdcard 的属性(755),我们可以在系统启动时将 sdcard 挂载到 /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.

我认为应该没问题。

于 2014-08-13T06:29:26.830 回答