core dump 是什么意思?

Posted 我是地瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了core dump 是什么意思?相关的知识,希望对你有一定的参考价值。

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 文件中,每次重启自动写入。

 

以上是关于core dump 是什么意思?的主要内容,如果未能解决你的问题,请参考以下文章

Core Dump 调试方法

liunx 部分

coredump导出堆内存

PHP中var_dump是啥意思

计算机术语dump是什么意思?

计算机里的dump是什么意思?(转储转储文件)