内核日志排错
一,coredump
coredump是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下会产生一个叫做core的文件。
core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等
1, 判断一个文件是coredump文件
在类linux系统下,coredump文件本身主要的格式也是ELF格式,因此,我们可以通过readelf命令进行判断。
可以看到ELF文件头的Type字段的类型是:CORE (Core file)
可以通过简单的file命令进行快速判断
2, 查看系统是否可生成 core dump文件
ulimit -c: 返回0表不生成 大于0的数表生成文件大小限制 unlimited表文件大小不受限制
设置core dump文件大小
ulimit -c 0
ulimit -c 1024
ulimit -c unlimited
当前设置的ulimit只对当前会话有效,若想系统均有效,则需要进行如下设置:
a> /etc/profile中加入以下一行,这将允许生成coredump文件
ulimit-c unlimited
b> 在rc.local中加入以下一行,这将使程序崩溃时生成的coredump文件位于/data/co