天天看点

gdb定位段错误

1、检查linux是否允许创建core文件:

$ ulimit -c

2、如果显示为unlimited,则正常,如果显示为0,则需要设置为unlimited(一般设置为unlimited)

# ulimit -c unlimited

设置后使用unlimit -c 检查是否为unlimited

生成core文件后,怎么定位是哪一行导致的错误呢

$ gdb -q a.out core.xxx
gdb定位段错误

从图中可以看到第38行发生了异常

quit是退出gdb,输入 bt 可以打印程序异常时的堆栈

继续阅读