1.core文件解释
当程序出现非法错误时,内核会在当前目录下生成一个core文件。core文件也称为core dump,是操作系统在进程收到某些信号而终止时,将此时进程地址空间的内容以及与进程状态相关的信息输出的一个文件。文件中的信息用于调试。
2.core文件相关操作
1.core文件的生成开关和大小限制
(1)ulimit -c命令 可查看core文件的生成开关。若结果为0,则表示core文件处于关闭转态,即不会产生core文件。
(2)ulimit -c filesize命令 可以限制core文件的大小(单位为KB),如果生成的信息大于此大小,core文件将会被裁减,最终生成一个不完整的core文件,在调试core文件时,gdb会显示错误。
(3)ulimit -c unlimited,表示core文件的大小不受限制。(默认情况下,在程序崩溃是,core文件时不生成的,所以,需要用此命令生成core文件。)
注意:当前设置的ulimit只对当前会话有效,如果想在系统均有效,则在/etc/profile中加入ulimit -c unlimited
3.core文件的查看
core文件需要使用gdb来查看。
gdb ./a.out
core-file core.xxxx(core.xxxx就是core文件名)
使用bt命令即可看到程序出错的地方