段错误处理

菜鸟B队 2011-08-16 02:44:25
大哥们,有没有段错误处理的解析。这几天编程不断出现段错误。。。
...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
androidrobot1 2011-08-26
  • 打赏
  • 举报
回复
非法访问内存,比如你通过指针去改变一个代码区,系统区的内存上的值,就会段错误。用指针一定要知道所指的地方可以做什么,不然很容易出现段错误
gw_editer 2011-08-26
  • 打赏
  • 举报
回复
一般都是非法访问内存!!!
菜鸟B队 2011-08-26
  • 打赏
  • 举报
回复
gdb调试还行
最后我能用数组的地方避免用指针,得设置结束标志以及空间足够大,段错误出现很少。
指针需要申请、释放,还得找准地方释放。
不过还是谢谢大家啦,辛苦啦!!!
huhaifengasd 2011-08-18
  • 打赏
  • 举报
回复
GDB
Tauren_Chieftan 2011-08-17
  • 打赏
  • 举报
回复
gdb调试呗。
janetanet 2011-08-17
  • 打赏
  • 举报
回复
调用函数的时候参数如果是指针地址之类的,容易出现段异常
luciferisnotsatan 2011-08-17
  • 打赏
  • 举报
回复
单步调试

段错误一般都是数组越界和指针问题造成的
AnYidan 2011-08-17
  • 打赏
  • 举报
回复
单步,一般是非法访问内存
saintjetsu 2011-08-17
  • 打赏
  • 举报
回复
virgrind
小木 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 babilife 的回复:]
http://iseeu.blog.51cto.com/178863/140610
[/Quote]
++
赵4老师 2011-08-16
  • 打赏
  • 举报
回复
崩溃的时候进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。
bing_bing 2011-08-16
  • 打赏
  • 举报
回复
顶楼上的,指针free之后,不是null,就用了,容易出现这个问题。
当系统所有的内存全部耗完后(包括主内存和虚拟内存,在嵌入式系统中,仅有主内存),所有申请内存的操作将失败。这通常导致程序试图申请内存来终止自己,或造成分段内存访问错误(segmentation fault)
tianmo2010 2011-08-16
  • 打赏
  • 举报
回复
LZ可以通过打印的方式,如printf("111");printf("222");等,锁定出现段错误的地方,然后去更正。
tianmo2010 2011-08-16
  • 打赏
  • 举报
回复
出现段错误,最后可能的地方

1.数组越界 //很多时候是这个

2.指针用的不正确

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧