Segmentation fault错误如何跟踪?

C程序运的时候老会出现Segmentationfault的错误,我知道可能是由于对指针的操作引起的,可是具体有哪些原因呢?如何跟踪Segmentationfault错误呢... C程序运的时候老会出现Segmentation fault的错误,我知道可能是由于对指针的操作引起的,可是具体有哪些原因呢?

如何跟踪Segmentation fault错误呢?因为这种错误也不会指出行号什么的!
展开
 我来答
SinbadLee
2008-09-25 · TA获得超过309个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:131万
展开全部
段错误
一般都是非法内存操作,例如数组越界,例如申请a[5],却访问到a[5]或者a[6],这也会有很多情况,可能是循环操作时循环变量控制有问题,可能是字符串拷贝时长度发生溢出
指针指向了非法内存,例如申明一个指针,但是没有对指针进行初始化,直接就引用,或者引用里面的元素或者函数,或者没有分配内存就进行释放等,另外,申请内存还要检查是否申请成功,如果没有申请成功也会出现这种情况

单步调试或者加打印信息,细心一点总可以找到错误的,注意编译成调试版本
如果是linux,可以产生core文件,从core文件查看出错的地方
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式