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

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

作者: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:基础  大讲堂  之二  错误  
  • 相关搜索
图片推荐
    #奥斯卡#借势营销,小李哥被玩坏了

    #奥斯卡#借势营销,小李哥被玩坏了

    第88届奥斯卡金像奖在好莱坞杜比剧院举行,莱昂纳多凭《荒野猎人》成功夺得奥斯卡影帝!截止今天为止已经过去了5天,作为一名运营人员,从自己工作的角度,来看看这次奥斯卡的借势营销!真是效果棒棒的,然而国内
    若过不了这三关 共享单车很可能就此消失

    若过不了这三关 共享单车很可能就此消失

    共享单车越来越招人喜欢了。  那天乘地铁回家,出了达官营地铁口,地面上齐刷刷摆放着上百辆红色摩拜!经不住诱惑,立即注册,微信支付299元押金,算是上了户口,随手一扫,打开一辆,骑上回家去也!  比较爽
    你的品牌不是品牌:营销90后的4种消费逻辑

    你的品牌不是品牌:营销90后的4种消费逻辑

    你懂90后吗?如果拿出马佳佳的情趣用品演讲PPT,你会不会感受到惊讶?如果看待耐克正在做的移动端品牌O2O,你会不会觉得惊喜?没错,他们是90后,或者他们的消费对象是90后。他们的商业思维和行动在告诉
    家居网站建设 江湖家居系统多款模板供选择

    家居网站建设 江湖家居系统多款模板供选择

    家居指的是家庭装修、家具配置、电器摆放等一系列和居室有关的甚至包括地理位置(家居风水)都属于家居范畴。随着时代的发展,家居装饰布局越来越受到人们的重视,2014年中国建材家居产业市场规模达到40700
    做为一个SEOer,目前您遇到的最大瓶颈是什么?

    做为一个SEOer,目前您遇到的最大瓶颈是什么?

    在某问答平台,看到有SEO界的大咖抛出这样一个问题:从事SEO这个职业以来,你遇到的最大瓶颈是什么?说实话,乍一看我心里还是咯噔了一下,学历?口才?技术?人脉?管理?资金?等等方面,对于不同的人在某个
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面