一、为什么要开启core文件
debug是一个很时髦的概念。在linux应用层程序开发的过程中,core文件(故障转储文件)在排查问题中扮演着至关重要的角色,例如程序访问非法内存产生段错误或者断言退出,core文件一般情况下可以保存案发现场的蛛丝马迹,只为水落石出的一刻。尤其是大型软件开发,调试阶段程序异常崩溃,常规的调试方法(如日志)是爱莫能助的,因为你无法通过当时的堆栈调用以及变量的信息来定位程序的错误。此外,阅读开源代码的时候,gcore的造错可以看到函数调用的堆栈,有助于理解代码的逻辑。
注:程序必须是编译时开启-g选项的debug版本。
二、什么时候开启core文件
然而,ubuntu默认是没有开启core文件的。为什么对程序debug这么有用的功能,在ubuntu的发行版本中是关闭的&