1. 打开core开关

    1
    ulimit -c unlimited
  2. 设置core文件生成位置格式

    1
    echo "/corefile/core-%e-%p" > /proc/sys/kernel/core_pattern
  3. 设置之后程序coredump的时候就会在/corefile/下生成 code-程序名-进程ID格式的codedump文件了

    之后便可以用gdb来调试,前提是编译程序的时候加上了-g选项

    1
    gdb ./a.out code-a.out-28281

    进入gdb之后输入bt 就能打印出crash时候的函数调用栈了