Linux coredump

什么是Coredump

当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储)。

Coredump产生原因

1. 内存访问越界
2. 多线程程序使用了线程不安全的函数
3. 多线程读写的数据未加锁保护
4. 非法指针
    - 使用空指针
    - 滥用指针转换
5. 堆栈溢出

如何打开Coredump

1
2
# 该命令输出0则说明没有打开core dump
ulimit -c