1.core 文件简介
在一个程序崩溃时,一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。也就是说这种文件是程序意外中断时候生成的 debug 用的文件。这些文件对于普通用户没啥用,可以直接删除。
2.如何开启或关闭 core 文件的生成
用以下命令来阻止系统生成core文件:
ulimit -c 0 |
下面的命令可以检查生成core文件的选项是否打开:
ulimit -a |
该命令将显示所有的用户定制,其中选项-a代表“all”。
你也可以修改系统文件来调整 core 选项
在/etc/profile通常会有这样一句话来禁止产生core文件,通常这种设置是合理的:
# No core files by default ulimit -S -c 0 > /dev/null 2>&1 |
但是在开发过程中有时为了调试问题,还是需要在特定的用户环境下打开core文件产生的设置。在用户的~/.bash_profile里加上ulimit -c unlimited来让特定的用户可以产生core文件,如果ulimit -c 0 则也是禁止产生core文件,而ulimit -c 1024则限制产生的core文件的大小不能超过1024kb。
3.如何使用 core 文件
在 core 文件所在目录下键入:
gdb -c core |
它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名,中止此程序的信号等等。如果你已经知道是由什么程序生成此core文件的,比如 MyServer 崩溃了生成 core.12345,那么用此指令调试:
gdb -c core MyServer |