网站目录下多出的 core 文件

时间:2024-01-14 14:50:56

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