ubuntu 系统 GDB 调试 Segmentation fault

ubuntu 系统 GDB 调试 Segmentation fault

我使用的代码采用cmake来进行编译。采用debug模式时需要首先将cmake中的debug选项打开,如下图所示。(计算时最好关掉debug模式,该模式会拖慢计算速度,不同cmake文件调整debug模式的位置不同)
ubuntu 系统 GDB 调试 Segmentation fault
光标所在位置是调整debug模式的,现在是off,需要调整到on。然后在程序所在目录打开终端,输入
ulimit -c unlimited
这是为了保证生成的core文件不会因为过大无法生成,再次输入ulimit,若调整成功会出现
unlimited
然后重新运行程序,例如 ./test,等到出现core dump后 在终端输入
gdb ./test core
就可以找到错误的位置了