Bug列表

1. 2010.6.8.22.00      SchedulerDemo.Scheuler.cs  public void RemoveTask(int _taskID) 213 行     “未将对象引用设置到对象实例”  

估计产生原因:在找到相应的任务后,应该退出循环。但代码中没有退出循环,导致循环继续进行,而这时候整个循环中可能已经执行过删除等操作,导致一些错误产生。

解决:添加循环退出语句 break.    2010.6.8.22.10

评估:错误不再出现。

 

2. 2010.6.8.22.00      SchedulerDemo.Scheuler.cs  public void RemoveTask(int _taskID) 184 行     “未将对象引用设置到对象实例”

估计产生原因:这时候的frameTaskHead已经为空了,可能是已经删除掉了,或者根本就没有注册。没有检测这个边界,所以出现异常。类似的地方应该不止这一个,凡是引用current的属性的地方都可能因为current本身为null而出现这个问题。

要修改这个方法内的所有类似的地方才可以消除隐患。

解决:在引用current属性前,都先检查一下 current != null ,但这似乎有点傻....特别是存在while循环的情况下,每次都要多检查一次,把这个边界检查放在外面就好多了,但仍然觉得不够优雅,或许存在着更好的方法等着我们去寻找。不过目前先这样啦。

posted @ 2010-06-08 22:03  向恺然  阅读(217)  评论(0编辑  收藏  举报

我必须说的是:我崇尚开源,但鄙视剽窃。本博客所有引用的图片,文章,和代码,均只作为研究学习使用,不作为商业应用。如果我无意中冒犯了您,请发消息留言,我将立即删除。