1.介绍什么是core
2. 如何设置ubuntu 系统生产core文件
3.生成调试信息
4. gdb调试core文件
5.导致产生core文件信号列表
1、什么是core
gdb+core的方式就可以很容易的定位异常问题位置,尤其程序崩溃的原因.
core 叫做核心转储,它是进程运行过程中突然崩溃那一刻的内存快照.操作系统在程序发生异常并且异常 在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行堆栈等信息转储保存在一个core文件里.
该文件也是二进制文件,可以使用gdb、elfdump、objdump或者windows下的windebug、solaris下的mdb进行打开分析里面的具体内容。
2、手动完成系统配置,让系统产生core文件
一般情况系统没有设置产生core文件的配置,这就需要我们手动完成配置,帮我们分析程序崩溃的原因,甚至查找到程序崩溃在某一个函数和某一行代码。否则系统ulimit的值默认为0 ,程序崩溃的时候不会产生core文件。
常用命令:
ulimit -a 查询core文件大小
ulimit -c 1000000 设置core文件大小为1000000字节;
ulimit -c unlimit 不能限制core文件的大小;
(core文件比较大,我们一般遇到的core文件大多在300M左右,这个应该因系统而异)
建议尽量不要对core文件大