core dump,翻译过来讲,就是核心转储。大致上就是指,如果由于应用错误,如浮点异常、指令异常等,操作系统将会转入内核的异常处理,向对应的进程发送特定的信号(SIGNAL),如果进程中没有对这些信号进行处理,就会转入默认的处理,core dump就是其中的一种。如果进程core dump,系统将会终止该进程,同时系统会产生core文件,以供调试使用。这个core文件其实就是内存的映像,即进程执行的时候内存的内容,也就是所谓的core dump。平常大家说某某进程core dump了,其实主要的意思就是说:某某进程因为错误而被系统自动终止了。(部分资料参考自:http://zhidao.baidu.com/link?url=7TwsFt82HUNhG6nxTenWc4yv-gAFwtuzOmulC3LkzatzFu0jcWBLSxun5DZCyVpAGxG7IBdZPOMNjsxSTmEQsEn-nKJq_0FtkzdY7GL7VEu)
可以用gdb 命令调试错误:
gdb -c core文件名 程序文件
一般core 文件没有特别设定路径,都会生成在应用程序的所在目录,也可以指定在/proc/sys/kernel/core_pattern 这个文件(以debian 系统为例),所以可以这样设置echo /root/core.%e >/proc/sys/kernel/core_pattern,因为每次系统重启后这个文件内容被清空,所以我们可以把这句话写到/etc/rc.local 文件中,每次重启自动写入。