程序产生段错误,那么我们可以让程序产生core文件,
- 在该文件夹下输入命令:ulimit -c unlimited 这个命令表示不限制core文件的大小,这个命令的时效只有现在,下次登录就没有默认不产生core文件了,需要再次运行。
- 编译的时候,在gcc 后面添加一个 -g 选项,-g选项是为了方便gdb,
- 然后再次次跑程序,让他再次段错误,然后括号内会提醒core dump。
- 输入命令 gdb 你的可执行文件 你的core文件 ;例如我的可执行文件为 test ,core文件为core;
那么我的命令为 gdb test core; - 然后会输出很多东西,在最下面有一个提醒你段错误的原因。例如
这里的SIGSEGV是一个信号。
然后输入命令 bt 就能看到你出错的地方。