1、什么是coredump?
当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做 Core Dump 或者叫做 ‘核心转储’,利用 coredump 可以帮助我们快速定位程序崩溃位置。
coredump和Valgrind的区别
Valgrind作用性体现更多在于“内存泄露”的检查
coredump可以捕捉因为空指针、野指针的访问,会引发程序段错误(segment fault )
2、启动coredump
系统默认记录内核转储的文件(core文件)大小为0,即默认是关闭coredump功能的。如果要启动coredump功能,设置core文件的大小即可。例如,使用ulimit -a可以查看各种大小限制,其中core file size即为coredump的大小,单位为blocks,如下所示:
$ ulimit -a
core

本文详细介绍了Linux系统中coredump的原理、启动、配置及使用,包括如何通过gdb调试崩溃的程序。内容涵盖coredump产生的场景、gdb常用命令以及在systemd系统下获取core文件的方法。
订阅专栏 解锁全文
1967

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



