如何查找并简单分析core文件

当系统发生coredump时,一般须要经过分析core文件来定位问题所在,但实际工做中,有时却发现core 文件找不到,或者core文件被删除了。ide

1、core文件没有生成

KINGBASE core 文件一般是在 $KINGBASE_DATA目录下。core文件没有生成的缘由主要有存储空间不够、目录没有权限、limit设置过小。能够经过ulimit -c 查看limit限制大小。spa

[root@dbhost01 security]# ulimit -c
unlimited

若是要修改limit,能够修改/etc/security/limits.conf 文件,如:日志

* soft core unlimited
* hard core unlimited

2、Redhat7 core文件

Redhat7 使用abrtd (automatically bug report daemon )服务,core 文件会在/var/spool/abrt/ccpp* 目录下。默认非root用户生成core会被系统自动删除,在messages 日志文件中一般有以下信息:server

abrt-server: Deleting problem directory '/var/spool/abrt/ccpp-xxxxx'

要保留core 不被删除,须要修改/etc/abrt/abrt-action-save-package-data.conf 文件,并重启abrtd服务。xml

OpenGPGCheck = no
ProcessUnpackaged = yes  

ProcessUnpackaged = yes , 咱们本身写的可执行程序,通常就是拷过去的,不从属于任何的package(rpm),abrt不生效。为了保证core文件大小,还要修改 /etc/abrt/abrt.conf blog

# Max size for crash storage [MiB] or 0 for unlimited
#
MaxCrashReportsSize = 1000

3、如何简单分析core文件

一、确认core文件是哪一个程序生成的

二、使用gdb分析core文件

 

KINGBASE研究院
相关文章
相关标签/搜索