有限的生命,无限的bug
2009-06-21 14:19
260 查看
现在很少用C++了,以致于慢慢地生疏起来。上周发现一个小bug,真的感到汗颜呐。
是常见的初始化错误,示例代码如下:
char * buff = new char[len];
memset (byff, 0, sizeof(buff));
其中len是前边通过计算得到的值。明眼人一看就知道问题出在哪里了,呵呵。
QA报告bug的时候我在自己的环境中没有重现,也就没有太在意(也许是对自己代码太有信心啦,羞愧一下)。但是后来在QA的机器上每次都能重现。我怀疑是系统环境不一样造成的,于是远程调试了一下才发现是初始化的错误:我测试的时候用的数据很短,len=3,而上边的memset会初始化4个字节,即32位下指针的大小,所以我每次运行都能够成功;但是QA使用的几个数据中len的值都是大于4的,所以造成buff的后部分都是没有初始化。汗!
算是一个教训吧:1. 测试数据很重要; 2. 别太自信
是常见的初始化错误,示例代码如下:
char * buff = new char[len];
memset (byff, 0, sizeof(buff));
其中len是前边通过计算得到的值。明眼人一看就知道问题出在哪里了,呵呵。
QA报告bug的时候我在自己的环境中没有重现,也就没有太在意(也许是对自己代码太有信心啦,羞愧一下)。但是后来在QA的机器上每次都能重现。我怀疑是系统环境不一样造成的,于是远程调试了一下才发现是初始化的错误:我测试的时候用的数据很短,len=3,而上边的memset会初始化4个字节,即32位下指针的大小,所以我每次运行都能够成功;但是QA使用的几个数据中len的值都是大于4的,所以造成buff的后部分都是没有初始化。汗!
算是一个教训吧:1. 测试数据很重要; 2. 别太自信
相关文章推荐
- 将有限的生命投入到无限的学习中去
- 将有限的生命投入到无限的学习中去
- 把有限的生命投入无限的好玩中
- 将有限的生命投入到无限的学习中去(转载)
- 技术是无限的,人的生命是有限的
- cocos2dx3.4 打包apk黑屏,发现glvert无限增长的一个bug
- 安卓一个有限/无限加载动画效果
- 发现SERV-U服务导致无限级目录的BUG的原因,解决之!
- Roope的Cocos2d-x学习之旅 003:无限重复和有限重复动作——RepeatForever和Repeat
- 生命有限
- 一个 Bug 的生命
- 无限级分类中的一个高级BUG
- winform快速开发平台->让有限的资源创造无限的价值!
- BBS 设计思路系列 ---- 减少无限的奖励,增加有限的奖励
- 时间有限事业无限,精力有限知识无限,无奈啊!
- 性能调优:时间的有限和无限
- 编程至高境界:以无法为有法、以无限为有限、以无招胜有招、以无形胜有形
- 无限的SNS,有限的需求
- 代码之谜(一)- 有限与无限