core文件的设置和查看

core设置

使用ulimit -c 命令可查看core文件的生成开关,若结果为0,则便是关闭了此功能,不会生成core文件。

ulimit -c unlimited  #设置core的文件大小
sysctl -w kernel.core_pattern=/data/core.%e.%p.%t
#设置core文件的保存格式和路径

以下是参数列表:

%p 添加pid
%u 添加当前uid
%g 添加当前gid
%s 添加导致产生core的信号
%t 添加core文件生成的unix时间
%h 添加主机名
%e 添加命令名

使用gdb查看

使用 :

gdb + 程序 + core文件
然后通过bt或者where查看程序崩溃时的堆栈信息

gdb /root/Service  core.Service.10590.1593437503

(gdb) bt
#0 0x00007fa6fa653207 in raise () from /lib64/libc.so.6
#1 0x00007fa6fa6548f8 in abort () from /lib64/libc.so.6
#2 0x00007fa6faf627d5 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3 0x00007fa6faf60746 in ?? () from /lib64/libstdc++.so.6
#4 0x00007fa6faf60773 in std::terminate() () from /lib64/libstdc++.so.6
#5 0x00007fa6fafb7105 in ?? () from /lib64/libstdc++.so.6
#6 0x00007fa6fb61cdd5 in start_thread () from /lib64/libpthread.so.0
#7 0x00007fa6fa71aead in clone () from /lib64/libc.so.6

你可能感兴趣的:(core文件的设置和查看)