Web Analytics

'Write Great Code'书中的一处错误

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦! ...

December 26, 2006 · 6 min · Tony Bai

'画蛇添足'招致的BUG

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦! ...

December 21, 2006 · 6 min · Tony Bai

疏忽大意招致恼人'BUG'

河南项目实施,一波刚平一波又起呀! 前天凌晨,河南又割入很多家SP,昨天早晨上班通过日志发现程序的一个子模块进程隔一段时间重启若干次,通常是每一批数据推过来,就有一次重启的过程,日志中没有打印出出错的标志,进程莫名奇妙的就宕掉了,查看程序环境也没有发现CORE文件或者.assert文件,在代码关键的退出区域加入打印日志,重启系统后仍然有同样的问题。郁闷呀,没办法,在家里搭建测试环境,模拟测试,测试人员果然发现问题了,我定睛瞧看,哇,原来如此,测试的那个哥们是在前台启动的系统,这样shell输出的信息也能看得到,也就是说在后台日志文件中看不到的,在前台都看得到,那个模块之所以重启的原因是因为没有找到dso中的函数符号,换句话说就是我们在编译dso时忘记了链接某个.o文件了。这个功能是年初后加入到系统中的,真想不起来当时是如何测试的了,居然这样的问题都没有发现。打开Makefile查看,的确链接串中并没有该.o文件。修改后,重新编译,替换dso,重启程序,一切正常了。事后一想以前没有暴露出该问题是因为以前的消息处理流程没有走到这个分支,由于第二次割接导致出现新类型的消息,走到了该分支,问题因此暴露。 ...

December 16, 2006 · 2 min · Tony Bai

一个'莫须有'的BUG

上周三晚,河南’前线’反馈,河南移动手机用户投诉,经查是话单丢失。查看后的确有蹊跷,按照数据库中录入的原始话单数据来看,这几条记录的确是该生成话单的。之后又有同事发现出现丢话单的问题不仅仅这几条,而是一批一批的。没什么头绪,一夜无话,周四发现每天入库的可生成话单记录数居然比话单多出100万,也就是说我的程序居然少生成了100万话单,按照一条记录1角钱,这也是10万块呀,事情紧迫,问题查找的历程开始。 ...

December 11, 2006 · 5 min · Tony Bai

三谈内存对齐-背后的故事

记得以前曾经两次谈到过内存对齐话题,一次在’也谈内存对齐‘一文中,另一次则是’也谈内存对齐(续)’,今天下午和同事又谈到内存对齐的问题了,遂想继续挖掘下去,看看其背后的故事。 关于内存对齐的中文文章多在介绍对齐的’法则’,比如为什么sizeof(T)和我们估计的T的大小有出入呢等等,而对于内存对齐的本质少有介绍,我在Google上搜索了一阵后,在IBM开发社区上发现一篇叫’Data alignment: Straighten up and fly right‘的文章,其中就有我想知道的关于’内存对齐背后的故事’,下面的很多内容都是来自那篇文章的。 ...

December 8, 2006 · 4 min · Tony Bai

挖掘一下C语言中的多维数组

好久没有看技术类的书籍了,今晚恰看到以前不知什么时候下到的一本oreilly的叫’mastering algorithms with c’的书,从书名可以看出这是一本讲算法的书,不过由于是选用了C语言作为讲解语言,所以难免不说说C语言。其中看到一节讲指针和数组,恰好碰到书中说: a[i][j] <=> *(*(a+i) + j),这个等价式看起来显而易见,但是还是有些东西值得挖掘一下的。 ...

November 29, 2006 · 3 min · Tony Bai

Goto也有它的好

最近真是忙的昏头转向,再加上天气逐渐转冷,很是有些不爽。今天dreamhead提醒我好久不更新Blog了,我也想更新,但是写点什么呢,工作相关的吧。 ...

October 17, 2006 · 2 min · Tony Bai

'此起彼伏'的复杂性

今天部门的一个同事很痛苦的向我求助。问题是关于一个新功能的测试,如果是一般的功能也就罢了,关键是这个功能是基于我曾做过的一个框架的,而这位同事由于是临时被指派的工作,对我的那个东西完全不熟悉。 ...

September 12, 2006 · 3 min · Tony Bai

不完备库接口带来的隐患

最近自己曾经辛苦耕耘过的两个项目同时上线,相关问题也就逐渐暴露出来。工作这两年多时间以后,使我有这样感觉:’测试永远都是不完备的’,有些问题只能在商用过程中发现,呵呵,明确一点啊我不是搞测试的:) ...

September 9, 2006 · 4 min · Tony Bai

小心'溢出'陷阱

这几天以前曾经做过的一个项目上线测试了,果不其然,没有经过’战争洗礼’的产品就是靠不住,这不出了若干问题。害得我逃了半天课远程支持。 其中的一个问题很值得思考。其所在的模块并非是一个核心功能模块,而是一个提高系统Availability的一个功能模块,主要功能就是监视磁盘占用率。我们通过配置给出允许使用的磁盘空间大小(以M Byte为单位),以及两个阈值,即当占用率达到多少的时候,Do A;达到多少的时候Do B。 ...

September 6, 2006 · 5 min · Tony Bai