如何查找並簡單分析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研究院
相關文章
相關標籤/搜索