gdb定位段错误
1、检查linux是否允许创建core文件:
$ ulimit -c
2、如果显示为unlimited,则正常,如果显示为0,则需要设置为unlimited(一般设置为unlimited)
# ulimit -c unlimited
设置后使用unlimit -c 检查是否为unlimited
生成core文件后,怎么定位是哪一行导致的错误呢
$ gdb -q a.out core.xxx
从图中可以看到第38行发生了异常
quit是退出gdb,输入 bt 可以打印程序异常时的堆栈