免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 62376 | 回复: 61
打印 上一主题 下一主题

月经结贴 -- 《Segmentation Fault in Linux》 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-21 17:23 |只看该作者 |正序浏览
写在前面的话
    最近CU(chinaunix)出现了很多问segmentation fault的帖子,其实这也是个“月经贴”了,泡CU几年,每个月都有人问。为了减少重复回帖,笔者结合自己的经验,总结了SIGSEGV在Linux中产生的机理,并用实际例子概括哪些编程错误容易引发SIGSEGV。由于本人经验有限,文中难免有疏漏和错误,请发现的朋友发信到xing5820@163.com指正,笔者好即使修改。

内容提要
  本文简单介绍了Segmentation fault发生的原因,结合实际例子描述了内核向用户态程序发送SIGSEGV信号的流程。文中以实例回答了常见的一些SIGSEGV问题,例如“为什么函数返回了栈还可以访问?”、“为什么free()后的内存仍然可以使用”、“为什么我遇到的是SIGSEGV而不是SIGILL信号”等。最后笔者结合自己的经验,列举了一些预防SIGSEGV的编程习惯,供大家参考。SIGSEGV严格依赖操作系统、编译器、硬件平台,本文基于Linux、GCC、32bit IA32架构,但对其他平台操作系统也有借鉴意义。


大家在阅读的过程中发现什么错误,或我没有讲到的segfault情况,请及时指出,我好更正。

Segmentation fault in Linux.pdf

309.26 KB, 下载次数: 4416

论坛徽章:
0
62 [报告]
发表于 2014-08-22 12:26 |只看该作者
下来看看有哪些原因会产生这个错误

论坛徽章:
0
61 [报告]
发表于 2012-11-18 19:10 |只看该作者
mark,最近对 segmentation fault 怕的。。

论坛徽章:
0
60 [报告]
发表于 2012-11-05 19:03 |只看该作者
好东西

论坛徽章:
0
59 [报告]
发表于 2012-10-26 15:26 |只看该作者
下来看看,先顶了!

论坛徽章:
0
58 [报告]
发表于 2011-07-01 14:51 |只看该作者
先顶再看。

论坛徽章:
0
57 [报告]
发表于 2011-05-23 10:55 |只看该作者
多谢多谢了饿啊

论坛徽章:
0
56 [报告]
发表于 2010-12-26 13:10 |只看该作者
回复 1# zx_wing


    呵呵,多谢分享哦

论坛徽章:
0
55 [报告]
发表于 2010-09-24 16:12 |只看该作者
新手学习中……,分享,谢谢楼主!

论坛徽章:
0
54 [报告]
发表于 2010-09-19 12:44 |只看该作者
这是一个曾今遇到过的问题!!!!!!
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP