对于linux开发者来说,core文件的分析和gdb调试都是非常必要的,因此需要了解如何使用core文件。
linux系统默认是不生成core文件的,可以从/etc/profile文件中看到以下内容:
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
对于开发者来讲,为了启用core文件生成,可以编辑~/.bash_profile,增加以下代码:
ulimit -c unlimited
unlimited表示不限制core文件的大小,可以指定为数字以控制core文件大小,单位为k。注意编辑后需要source ~/.bash_profile使其生效
使用虚拟机的朋友可能会遇到这样的情况:core文件产生了,但是为0字节,什么都没有。这是由于我们的运行目录是host机器的目录,而如果host系统是Windows,则由于目录和文件格式不对,生成core文件为空。将运行目录放到linux本地目录即可生成。