定义
核心文件(core file),是程序运行发生异常终止或崩溃时,操作系统对程序当时内存状态的记录文件。这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。
作用
查看程序崩溃原因,发现bug,用于调试。
相关操作
-
查看core文件开关
ulimit -a # 如果 core file size 为 0 ,说明没有启用core file
-
设置core文件的大小
ulimit -c <core文件大小>
-
设置core文件名称
cat /proc/sys/kernel/core_uses_pid # 查看core文件的文件名是否添加对应程序的PID作为扩展 # 如果为0,生成的core文件名字就是 core # 如果为1,生成的core文件名字就是 core.xxxx , xxxx为对应程序的PID echo "1" > /proc/sys/kernel/core_uses_pid # 修改core_uses_pid的值 cat /proc/sys/kernel/core_pattern # 查看core文件保存的位置和文件名格式 echo "/corefile/core-%e-%p-%t" > core_pattern # 更改core文件保存的位置和文件名格式 # 将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
-
使用core文件调试程序
gdb -c core # 查看生成core文件的程序名和终止此程序的信号等信息 # 得知生成core文件的程序之后,先运行 gdb -c core文件名 终止程序 # 或者 gdb 终止程序 core文件名 # 再输入 bt
参考文献
https://blog.csdn.net/weixin_42135997/article/details/80732658 Linux下core文件及使用
https://www.cnblogs.com/alantu2018/p/8468879.html Linux下的core dump
https://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html Linux core 文件介绍