一、linux应用程序在运行过程中,经常会遇到segment fault(段错误)这样的错误。产生这样错误的原因通常有:
1. 数组访问越界
2. 访问空指针
3. 栈溢出
4. 修改只读内存
5. 打开core dump:在linux系统中,默认是关闭core dump功能的,但是可以通过ulimit命令打开/关闭core dump功能。
5.1. 打开:ulimit -c unlimited
5.2. 关闭:ulimit -c 0
6. core文件分析:在发生core dump之后,可以使用gdb进行查看core文件的内容,以定位程序出错的位置。
6.1. 用法:gdb 程序名 core文件名
如:gdb ./test test.core
阅读(970) | 评论(0) | 转发(0) |