扫盲

Linux C语言编译器安装

  1. yum install gcc
  2. # 编译C程序
  3. gcc -o a.out a.c

Coredump(kdump)

查看是否开启了coredump 功能

[root@ip-172-16-1-245 ~]# ulimit -c
unlimited

如果结果为0,代表没有配置coredump,unlimited代表不限制coredump 文件大小。

配置coredump文件存储位置

kernel.core_pattern = /var/core/%t-%e-%p-%c.core
kernel.core_uses_pid = 0

触发coredump
如下C代码会

#include <stdio.h>

int main(void)
{
        printf("hello\n");
        int *a = NULL;
        *a =0x1;

        return 0;
}

直接执行这个程序会得到如下错误:
Segmentation fault (core dumped)

并且在 /var/core 文件夹下面生成一个 .core 的文件。