Segmentation fault (core dumped)出错原因及位置分析
来源:互联网 发布:爱奇艺网络机顶盒版 编辑:程序博客网 时间:2024/06/06 05:46
一 Segmentation fault (core dumped)原因
Segmentation fault (core dumped)多为内存不当操作造成。空指针、野指针的读写操作,数组越界访问,破坏常量等。如最近的势能图代码中的链表操作,对链表的新增和释放包括赋值等等,如出现不当操作都有可能造成程序崩溃。对每个指针声明后进行初始化为NULL是避免这个问题的好办法。排除此问题的最好办法则是调试。
二 解决办法
1、使用gdb查看core文件
在程序崩溃后在目录中会产生core.xxxx文件,core文件中包含着出错信息。如果没有core文件,是因为系统设置了core文件大小为0。通过命令ulimit -a即可查询到。在执行ulimit -c unlimited命令后,core文件大小就不受限制。此时再次运行程序后目录中出现core.xxxx文件。用gdb ./file core.xxxx可查看出错所在行信息了。其中file为原执行的程序名。
2、使用gdb调试程序
如上述流程不能解决问题,下面可使用gdb单步调试程序。重新编译程序,编译命令中加入-g。如:
gcc -lm -O3 -g file.c -o file之后使用gdb命令
gdb file
开始调试过程。
输入start使程序运行到main中第一行运行代码。next或者n为执行下一行程序,until xx执行到xx行,print或p可输出变量值,b xx用于在xx行设置断点,run或r用于执行程序至下一断点,d xx删除xx行断点。
我们可以先run一遍程序,这时它会提示出错行信息。然后until到出错行前5行,交替执行next和print,输出与出错行变量相关变量或指针的值。最终定位出错的根本操作在哪一行。修改之即可。
这次段冲突bug调试了整整一天,最终找出出错在两条链表新增表尾后错将chain1的新增节点指针给了chain2。导致第二次循环时malloc函数出错。在copy重复代码时一定要注意变量名的修改- -!
阅读全文
0 0
- Segmentation fault (core dumped)出错原因及位置分析
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- Segmentation fault (Core dumped)
- robotframework 多进程 多线程
- windows下nodejs环境配置
- 2017 Multi-University Training Contest
- 一道让人很生气的题C. Tanya and Toys
- libpcap使用
- Segmentation fault (core dumped)出错原因及位置分析
- Android深入浅出之Binder机制
- 【华为机试】公共字串计算
- Activity生命周期以及Intent两种画面跳转方式
- 1012. 数字分类 (20)
- 《Noisy Activation Function》噪声激活函数
- Python语法基础02.变量及类型
- C文件调用C++文件里的函数
- 原生Ajax实现异步数据传输
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
圆锥球磨机工作原理
圆锥破碎机结构图
hp200圆锥破碎机
圆锥的底面积公式
圆锥的面积公式
圆锥破碎机图片
圆锥的全面积公式
圆锥的轴截面是什么
若圆锥的轴截面是正三角形
圆锥底面周长公式
圆锥周长公式
圆锥的侧面展开图
圆椎
圆雕
圆雕鳌头
圆雕机
圆雕图片
纸圆雕
圆雕和浮雕的区别
精雕软件圆雕教程
纸圆雕作品图片
磨鞋
圆顶硬礼帽
圆顶珠蚌
圆顶方踵
圆顶方趾
圆顶帐篷
圆顶
圆顶建筑
圆顶阳光房
圆顶龙
吊顶圆顶
圆顶形
客厅吊圆顶
圆顶龙图片
中央圆顶护腿
重装机兵3圆顶球场
圆顶装修效果图
圆顶吊顶造型的装修图
圆顶阀密封圈
圆顶帽子图片