core 文件用于保存程序崩溃信息,调试程序时,无法显示core文件在当前目录。原因一般有两个:
当前用户的权限不够
core文件的生成默认路径没有修改
一. 修改当前用户core的权限
1.1 查看core文件大小权限
ulimit -c
1.2 设置core文件大小为不受限制
ulimit -c unlimited
图示:
这样就可以生成core文件了。如果在调试的当前位置还是找不到,继续第二个步骤。
二. 修改默认位置
2.1 查看默认输出位置
使用sysctl或者cat
sysctl 命令:
sysctl kernel.core_pattern
cat 命令 :
cat /proc/sys/kernel/core_pattern
红色框子中,表示默认位置设置到 apport(ubuntu 的 apport 崩溃检测报告的程序)
2.2 修改默认位置
echo "core -%e -%p -%t" > /proc/sys/kernel/core_pattern
如果权限不够,需要切换到root 权限执行 ,具体如下图
ehco 命令不是永久的,重启以后会丢失
如果想要永久保存当前配置,打开文件,写入硬盘
vim /proc/sys/kernel/core_pattern
将core -%e-%p-%t写入文件中
按ESC键,输入:wq!即可。
版权归原作者 伯恩bourne 所有, 如有侵权,请联系我们删除。