当前位置:首页云巢基础大讲堂之二段错误 举报文章

云巢基础大讲堂之二段错误

作者:admin    来源:用户投稿    时间:2015.6.11   

  引言

  “哎,段错误!”我仿佛看到了这个句话背后程序员的那张苦瓜脸。段错误对于一个程序员是一个熟悉不能再熟悉的名词,对于有经验的程序员对这个词那是既爱又恨,爱的是:还好出现了段错误,非常好找原因的(那是他有几种能找段错误的方法,已经熟透了),恨的是:怎么总是出现段错误(看的都想吐了)。而对于经验不足的程序员来说,段错误就是一个刺猬,你想吃他根本无从下嘴,只可远观而不可亵玩焉。针对这种情况云巢科技在最底层公共库模块添加了一套专治段错误的模块,先拔掉你的刺,在考虑怎么吃掉你。

  1. 段错误是什么

  一句话来说,段错误是指访问的内存超出了系统给这个程序设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。

  2. 段错误产生的原因

  1> 访问不存在的内存地址。

  2> 访问系统保护的内存地址。

  3> 访问只读的内存地址。

  4> 栈溢出,等等其他原因。

  3. 段错误的调试方法

  1> 传说中printf大法,这个看似最简单但往往很多情况下十分有效的调试方式,也许可以说是程序员使用最多的调试方式。但是涉及到大的项目开发和源码数量超多,使用printf大法就不能快速的去定位问题的所在,你根本就不知道在哪去加printf打印。

  2> 使用GDB调试

  对于新手的程序员来说,GDB还有很大一部分人不会使用,如果要使用GDB,还要去从新学习GDB的命令和操作,有时候会浪费一些时间。

  3> 云巢开发的智能自动检测段错误模块

  没有复杂的操作,没有猜代码的痛苦,只需要调用一个简单的初始化函数接口,就能智能的自动检测出程序产生的段错误的位置,定位精准,老少皆宜。

  4. 云巢科技智能检测段错误模块

  1> 基本原理:

  通过捕捉系统中产生的段错误信号,将段错误信息打印到生成的文件中。

  2> 产生段错误的信号:

  1)SIGQUIT 2)SIGILL 3)SIGABRT 4)SIGFPE 5)SIGSEGV 6)SIGBUS 7)SIGSYS 8)SIGTRAP 9)SIGXCPU 10)SIGXFSZ 11)SIGIOT

  我们看到SIGSEGV在其中,一般数组越界或是访问空指针都会产生这个信号。云巢开发的检测段错误模块,能够完美的捕捉以上列出的产生段错误的信号,并将产生段错误信号的行进行准确的定位。拔掉他身上的刺,为公司的研发人员提供极大方便,提升了工作的效率。其实段错误并不可怕,可怕是没有一种好的调试段错误的方法。云巢正是看到了这个方面,开发出智能检测段错误模块。

  5. 开发当中应当注意的事项,避免产生段错误

  1、出现段错误时,首先应该想到段错误的定义,从它出发考虑引发错误的原因。

  2、在使用指针时,定义了指针后记得初始化指针,在使用的时候记得判断是否为NULL。

  3、在使用数组时,注意数组是否被初始化,数组下标是否越界,数组元素是否存在等。

  4、在访问变量时,注意变量所占地址空间是否已经被程序释放掉。

  5、在处理变量时,注意变量的格式控制是否合理等。

  免费申请云巢iPC地址:http://pc.vcnglobal.cn

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:基础  大讲堂  之二  错误  
  • 相关搜索
图片推荐
    腾讯发布Mac中国市场报告:1/3用户装Windows

    腾讯发布Mac中国市场报告:1/3用户装Windows

    [摘要]数据显示苹果Mac用户在我国的总数已超过400万,其中约83%为MacBook用户。年轻、高学历、高收入是主流Mac用户的特点。  腾讯数码讯(周硕)近日,腾讯ISUX用户研究中心发布苹果Ma
    A站晚节不保成笑料:内斗不止 网站还瘫痪了2天

    A站晚节不保成笑料:内斗不止 网站还瘫痪了2天

    摘要A站历史上已经历多次内乱,一位A站前高管说,生亦二次元,死亦二次元。每次换管理层,大家会对外说,这是新的开始,但最后,大家都成了开始本身。在A站内斗的前半年,其还持续获得融资。    持续陷入内斗
    资本寒冬里的短租热 未来发展更需“全副武装”

    资本寒冬里的短租热 未来发展更需“全副武装”

    短租市场的资本寒冬论从未停歇,但这并未影响短租市场热潮到来。放眼现在的短租市场,途家并购之后,近日,又传出携程携手绿地打造国内首家一站式民宿运营平台,再次将短租推上了曝光热潮。  事实上,房企加入短租
    新常态下消费者心理变化与营销战略思考

    新常态下消费者心理变化与营销战略思考

    导读:如今美国消费者消费习惯和行为的改变主要表现在三个方面:一是减少消费。非买不可的才买,如食物、汽油等生活必需品;能少买的就不多买,只买近期够用的。  12月11日闭幕的中央经济工作会议上明确提出坚
    安东胜告诉你微信十个技巧和十大潜规则

    安东胜告诉你微信十个技巧和十大潜规则

    微信天天用,但以下10个超好用的技巧和微信十大潜规则,你不一定都知道!东胜资讯集团总裁安东胜告诉你信十个技巧和十大潜规则。  一、玩微信十个超好用技巧  1、怎样快速查看未读消息?  如果你有很多消息
    新站如何推荐用户喜欢的内容?

    新站如何推荐用户喜欢的内容?

    刚刚建立的新网站,无论从那方面来讲都比较辣手,收录,内容等等是众多seo优化人员首先考虑的,这毋庸置疑,肯定是正确的。毕竟有内容有收录才能获取排名,但是在布局网站结构和内容推荐的时候,一些新站没有具体
    网红经济市场规模过千亿 4只概念股望趁势起飞

    网红经济市场规模过千亿 4只概念股望趁势起飞

    编者按:随着Papi酱的快速蹿红,网红一词正风风火火席卷而来。从颜值爆表的淘女郎到别具一格的电竞主播,从靠颜值荐股的美女分析师到擦边网红的上市公司,网红成为了独特的新经济物种。在这场变革中,A股网红概
    阿里巴巴的社交化营销 不缺硬件缺思维

    阿里巴巴的社交化营销 不缺硬件缺思维

    2013年,电子商务竞争如火如荼,BAT,三大巨头,暗战江湖,都瞄着互联网电子商务,各施法术,一时之间,互联网江湖风起云涌,而社交化营销更是这一切竞争的重中之重,也是微信能够后来居上的一大法宝。  这
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面