一般我们的系统在上线的初期都采用DEBUG版本,因为初期系统存在着很多潜在的问题,一旦暴露,DEBUG版本也便于我们进行问题查找。

昨天吉林割接测试过程中发现一个问题,我们的系统在处理一条内容为空的手机上行短信时系统dump core了。经过调试发现是一处assert导致的,这处的代码断言上行短信的内容不该为空, 即assert(消息内容长度 > 0)。

正常来说我们系统接收到的手机上行的短信内容都应该不为空的,以前的定势的思维也让我在这块无端放了一个assert语句,反倒画蛇添足了。其实想一想,用户一不小心发了一条空短信也是完全可能的,起码我就发过不止一次^_^。但是空短信导致系统进程出异常这是万万不应该的,虽说DEBUG版本也是导致这一问题的一个原因,但是我们在检查输入参数范围时的不细心终归是最大的问题所在。

以后注意!^_^

© 2006, bigwhite. 版权所有.

Related posts:

  1. 算法的回归
  2. 开始'亡羊补牢'
  3. 不完备库接口带来的隐患
  4. 遇到系统的高可用性问题
  5. 线程函数参数引发的问题