core dumped是核心转储。进程异常终止,进程用户空间的数据就会被写到磁盘。
在Unix/Linux中,有时程序并未经过彻底的调试,使得它们有可能在执行的时候出现一些比如段错误之类的情况,此时可能会导致核心转储(core dumps)。
套用《Classis Shell Scripting》一书的解释:
“在Unix系统中,常将‘主内存’(main memory)称为核心(core),因为在使用半导体作为内存材料之前 ,便是使用核心(core)。而核心映像(core image)就是‘进程’(process)执行当时的内存内容。当进程发生错误或收到‘信号’(signal)而终止执行时,系统会将核心映像写入一个文件,以作为调试之用,这就是所谓的核心转储(core dumps)。”
转自:http://zh.wikipedia.org/zh-cn/%E6%A0%B8%E5%BF%83%E6%96%87%E4%BB%B6
核心文件
核心文件(core file),也称核心转储(core dump),是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。
核心文件一词来源于磁芯内存(core memory)。
核心转储
通常这个词的含义是一个动作,这个动作在系统收到特定的信号时由操作系统完成。信号可以由程序执行过程中的异常触发,也可以由外部程序发送。动作的结果一般是生成一个某个进程的内存转储的文件,文件包含了此进程当前的运行堆栈信息。
程序自身产生的coredump文件一般可以用来分析程序运行到哪里出错了。Linux平台常用的coredump文件分析工具是gdb;Solaris平台用pstack和pflags;Windows平台用userdump和windbg。
外部程序触发的dump一般用来分析进程的运行情况,比如分析内存使用/线程状态等。
Solaris的常用内存分析工具umem 就是需要先通过gcore pid 得到coredump的文件然后继续分析内存情况。