前言最近部署到linux的程序遇到段错误,网上查了一些原因,基本上看不出有用的东西出来,于是只能根据gdb进行排查。寻找core文件就是内存转储文件,程序崩溃时会自动提示:段错误(内核已转储),gdb调试的时候必须依赖转储文件才能调试。要进行调试还需要知道两个问题:core文件在哪以及为什么没有生成文件位置要查看文件在哪,可以直接执行 cat /proc/sys/kernel/core_pattern根据输出内容进行判断,如果为core则代表在执行文件同目录生成,如果为/usr/lib/systemd/systemd-coredump %P %u %g %s %t %e 则代表着被coredumpctl接管了,下面说一下如何从coredumpctl提取core文件,其实很简单#查看所有的内存转储文件 coredumpctl list #默认会显示出所有的内存转储文件,我们大部分关心的应该是最后一项,拿到pid后 coredumpctl -o core dump pid执行完之后就会在当前目录中生成core文件了,文件名可以自定义。文件没有生成默认系统是关闭core文件生成的,可以通
hellojxl