《软件编程低级错误:空指针教程文件.ppt》由会员分享,可在线阅读,更多相关《软件编程低级错误:空指针教程文件.ppt(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5 级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5 级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13 组配色方案,同一页面内
2、只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.软件编程低级错误:空指针HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5 级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5 级):18pt 颜色:黑色字体:
3、细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13 组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.申请内存没有捕获异常【问题描述】Web 服务器返回500 错误。【问题定位】New 内存失败,不会返回NULL,而会抛出异常,但代码中没有捕获这个异常【根本原因】C+语言中New 内存失败后可以出现两种情况,一种是返回NULL,一种是抛出异常。可以在调用New 函数时使用参数指定,也可以在编译选项中统一选择一种处理方式。项目组没有明确规定采用哪种处理方式,开发人员根据以前项目组的经验调用New 函数后,判断是否非空,但在这个项目中即使New 失败也
4、不会返回NULL。【举一反三】项目组必须规定统一的编程规范。维护老代码时,注意弄清楚老代码的设计和编程的规则。HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5 级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5 级):1
5、8pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是13 组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.没有判断全局指针非空【问题描述】当主控板起来但接口板还没有起来时,使用命令undo rule-map 删除所有的Rule-map,出现DA 异常。【问题定位】在删除Rule-map 时,如果它引用了Link-group,则将Link-group 中的pLink 的引用计数减一。开发人员认为全局变量pLink 永远不可能为NULL,所以没有判断其合法性。正常情况下,pLink 确实不可能为NULL,但当系统重启时,先恢复了Rule-map,在恢复Link-group 之前,pLink 指针为NULL。此时如果从命令行删除所有的Rule-map,就会出现DA 异常。【纠正措施】访问pLink 之前,判断其是否为NULL【根本原因】多个模块相互配合时,可能出现千奇百怪的调用顺序,开发人员认为永远不可能为NULL 的参数,实际网络中却很可能发生。【举一反三】外部接口传入的参数,或其它模块维护的全局变量,使用之前必须判断是否合法
限制150内