一、在当前文件夹下生成指定二进制文件的core文件

查看允许core文件空间大小:

ulimit -c

修改core文件空间为无限大:

ulimit -c unlimited

让core文件生成在当前目录下:

sudo bash -c 'echo core.%e.%p > /proc/sys/kernel/core_pattern'

再执行一次二进制就会在当前文件下生成core文件

二、GDB调试过程

1.增加-g选项重新编译二进制

g++ -g test.cpp -o test

2.根据二进制和core文件进入gdb

gdb test core.test.2900

注意:顺序不要错,先可执行文件再core文件
比较简单的情况下可能直接就显示fault的位置:

还可以用where去做查询: