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

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

作者: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:基础  大讲堂  之二  错误  
  • 相关搜索
图片推荐
    海外品牌代理不好当 做跨境还是传统渠道?

    海外品牌代理不好当 做跨境还是传统渠道?

    【编者按】从前几年开始,海淘之风日渐兴起,很多商家都发现越来越多的用户青睐国外的品牌和商品。于是不少商家随着蠢蠢欲动,希望通过成为国外某个知名品牌的代理商的方式获取红利。  但随着海淘进入跨境电商为主
    有一种毒药叫“七大姑八大姨” 看各大品牌为你解毒

    有一种毒药叫“七大姑八大姨” 看各大品牌为你解毒

    临近年关,除了内心喷涌而出的放假兴奋感,更有惶惶恐恐的焦躁感,恐亲症随着春节倒计时越发严重。    春节两大难:火车票抢夺大战and七大姑八大姨之连环大追问。能扛过其中一样的都是勇士,两样都能扛得过并
    运营商再度换帅,电信业还能怎么变革?

    运营商再度换帅,电信业还能怎么变革?

    摘要: 就在刚刚,中移动正式对外宣布,工信部副部长尚冰将接替奚国华出任中国移动董事长,奚国华将卸任退休;与此同时,中国电信董事长王晓初和中国联通董事长常小兵也将进行对调,两家稍后将对外公布正式消息。 
    外卖品牌“大师之味”倒闭 创业O2O艰难求生

    外卖品牌“大师之味”倒闭 创业O2O艰难求生

    近几年,O2O既是众多创业者争抢的商机,同时也成为死亡率最高的创业领域。4月29日,上线不到一年的大师之味在其微信公众号上发布告别信,标志着又一O2O宣布倒闭。究其原因,作为创始人兼CEO的范新红在告
    HTC公布Q2业绩:净亏损额超2亿美元

    HTC公布Q2业绩:净亏损额超2亿美元

    HTC当日公布了第二季度业绩,受智能手机销量下滑和闲置生产线估值下降的影响,该季度HTC再次陷入亏损。该公司称,截止6月30日的季度里,未经审计的净亏损额为80.3亿新台币(约合2.61亿美元)。实现
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面