免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-21 17:24 |只看该作者 |正序浏览
写在前面的话
    最近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情况,请及时指出,我好更正。

此贴附件不知为何没有了,大家可以到
http://bbs.chinaunix.net/thread-1632005-1-2.html
下载

[ 本帖最后由 zx_wing 于 2010-1-15 22:04 编辑 ]

Segmentation fault in Linux.pdf

309.26 KB, 下载次数: 4987

Segmentation fault in Linux.pdf

309.26 KB, 下载次数: 1747

评分

参与人数 2可用积分 +36 收起 理由
Godbach + 30 精品文章
liying_gg + 6 原创内容

查看全部评分

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:15程序设计版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-22 14:11:11程序设计版块每日发帖之星
日期:2015-09-25 06:20:00每日论坛发贴之星
日期:2015-09-25 06:20:00
57 [报告]
发表于 2015-09-18 19:04 |只看该作者
这个真是精华

论坛徽章:
0
56 [报告]
发表于 2013-07-12 15:22 |只看该作者
好东西啊!

论坛徽章:
0
55 [报告]
发表于 2012-09-01 20:04 |只看该作者
好文章, 岂能错过. 经常遇到这个问题. 不过, 我遇到的时候, 很多时候都是数据类型错误而引起的. 看看文章, 解解疑惑

z75993971 该用户已被删除
54 [报告]
发表于 2012-06-26 12:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
53 [报告]
发表于 2012-06-20 23:43 |只看该作者
不错啊,多谢!!!!!!

论坛徽章:
0
52 [报告]
发表于 2012-04-09 10:10 |只看该作者
多谢楼主~

论坛徽章:
1
白羊座
日期:2013-08-22 17:30:33
51 [报告]
发表于 2012-04-09 09:48 |只看该作者
楼主牛逼,顶上!

论坛徽章:
0
50 [报告]
发表于 2012-04-09 09:10 |只看该作者
牛人都是牛人

论坛徽章:
0
49 [报告]
发表于 2011-07-01 13:59 |只看该作者
好文章,谢谢楼主的share
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP