LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 683|回复: 4

大家帮忙分析一下段错误的可能原因

[复制链接]
发表于 2005-4-20 16:33:32 | 显示全部楼层 |阅读模式
在Linux下编程,总是会遇到段错误(section error)。请高手分析一下可能的原因。小弟跪谢了!
发表于 2005-4-20 16:54:33 | 显示全部楼层
主要是指针的引用超出范围了吧
回复 支持 反对

使用道具 举报

发表于 2005-4-21 09:10:08 | 显示全部楼层
一般来说只要数组越界写,就会出现断错误。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-21 11:17:17 | 显示全部楼层
不好意思,段错误的全称应该是Segmentation fault。我查到的一种可能是:

在进程间,通过信号通讯时,为sa_sigaction指定了信号处理函数,如果不设置SA_SIGINFO,信号处理函数得到信号传递过来的数据,在信号处理函数中对这些信息的访问将导致段错误。
回复 支持 反对

使用道具 举报

发表于 2005-4-21 13:20:14 | 显示全部楼层
段错误的常见(我遇到的唯一情况,因为信号处理操作简单,没出现你说的问题)情况是:
内存操作错误,即,使用野指针、释放非法内存、dereference非法内存。
查错可以试试core dump,然后gdb
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表