段错误(核心已转储)定位错误位置

文章目录

    • 什么是段错误
    • 错误定位
      • 1.编译出可调试执行文件
      • 2.运行可执行文件
      • 3.进入gdb模式
      • 4.查看core文件

什么是段错误

由于程序运行访问 不存在、系统保护或只读的内存地址,导致程序错误异常退出,操作系统在程序退出时把当前程序运行的内存状况存储到core文件中,并报告发生段错误(核心已转储)。

错误定位

1.编译出可调试执行文件

g++ *.cpp -o a -pthread -g
-g:生成可调试文件

2.运行可执行文件

运行文件之前,通过ulimit -a命令查看core文件大小,如果是0,通过ulimit -c unlimited修改文件大小
./name
发生段错误后会产生core文件
注意
若没有产生core文件,可以尝试临时关闭系统错误提示(系统重启失效)
sudo service apport stop

3.进入gdb模式

gdb name

4.查看core文件

core-file core
会显示发生错误的代码位置

你可能感兴趣的:(Linux,经验总结,网络,linux)