为什么没有生成core文件?core文件创建在什么位置?
没生成core文件,可能是目录权限或limit设置太小。Redhat7 采取abrtd服务,core文件在/var/spool/abrt 目录。Core文件通常在进程当前工作目录的下创建,或与程序在相同的路径下。但如果程序中调用了chdir函数,则有可能改变了当前工作目录。这时core文件创建在chdir指定的路径下。Redhat7 使用abrtd (automatically bug report daemon )服务,core 文件会在/var/spool/abrt/ccpp*
目录下。
以Centos7 为例:
1、 确认针对用户的core文件大小没有限制。
2、 修改/etc/abrt/abrt-action-save-package-data.conf
文件,并重启abrtd服务(如果不行,重启服务器)。
|
OpenGPGCheck = no ProcessUnpackaged = yes |
3、 确认/var/spool/abrt
目录下有生成ccpp* 之类的文件。
评论
有用 0
kingbase 提供了HandleCrash 函数,该函数被注册为一个信号处理函数,用来处理:SIGILL,SIGBUS,SIGSEGV等信号,其子函数:StandardHandlerForSigillSigsegvSigbus_OnMainThread 用来收集堆栈信息,进程信息,并且将他们写入管道中。如果现场中需要gdb重定向,需要以下方法:
set logging file <file name>
set logging on
info threads
thread n
info functions
set logging off
然后将对应的filename拷贝回来
评论
有用 1
墨值悬赏

