core 文件
作者:张华
2006年8月2日
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。
何谓core文件
当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。
当程序接收到以下UNIX信号会产生core文件:
| 名字 |
说明 |
ANSI C POSIX.1 |
SVR4 4.3+BSD |
缺省动作 |
| SIGABRT |
异常终止(abort) |
. . |
. . |
终止w/core |
| SIGBUS |
硬件故障 |
. |
. . |
终止w/core |
| SIGEMT |
硬件故障 |
|
. . |
终止w/core |

本文介绍了Unix/Linux系统中的core文件,当程序崩溃时,内核会将进程的内存映射保存到core文件中,方便程序员调试。文章详细阐述了core文件的产生条件,如进程接收到特定信号如SIGABRT、SIGSEGV等时,以及如何通过`ulimit`命令调整core文件的大小。通过GDB等工具,可以分析core文件找出程序崩溃的原因。
1128

被折叠的 条评论
为什么被折叠?



