Learn from Bugs
blade2001
这个作者很懒,什么都没留下…
展开
-
crash bug之 select
crash bug之 select在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数 一般定义为 1024个, 定义在/usr/include/sys/select.h或中你会发现sizeof(fd_set)的结果是128(*8 = FD_SETSIZE=1024). Select用到了fd_set结构,从m原创 2007-04-03 14:27:00 · 2673 阅读 · 0 评论 -
Bug 之 隐式类型转换
Bug 之 隐式类型转换请看代码1(Linux GNU g++): int nSendRet = -1; size_t nDataSize = 5; if(nSendRet > nDataSize) //Error { printf("nSendRet > nDataSize !!!!/n"); }相关的生成汇编代码:.LCFI2: a原创 2007-04-10 17:21:00 · 902 阅读 · 0 评论 -
Bug 之 C++/C运算符
今天犯了一个低级错误, 写代码的时候太急 没有注意C++/C运算符的优先级关系, 结果导致条件判断无效,示例代码: if( 0 & POLLIN_ALL == 0) //POLLIN_ALL是一个不为0的整数 { printf("do here/n"); } 这个代码编译后运行, 永远也无法printf("do here/n"), 原因是位运算符& 的原创 2007-04-20 21:02:00 · 1084 阅读 · 0 评论 -
如何定位"无法重现“的问题
无论对于开发人员还是测试人员,遇到无法重现的bug都是一件极其苦恼的事情,为了逃避责任,各个部门之间会互相推脱,长时间无法解决也会给开发人员很大的压力,然而对于一个工程来说,无法重现的BUG往往是非常严重的问题,因为这种错误被发布到用户的机器上,小概率会被放大非常严重的事故,甚至会变成影响公司声誉的灾难事件。 我曾经看过一些测试人员在对待这类问题上的一些经验,比如如严格版本管理,杜绝个人操作转载 2007-11-07 16:06:00 · 1899 阅读 · 0 评论