代码调试中偶然错误的处理方法

去改病理采图的代码,现在基本上掌握了它的精髓。如果说学到些什么,我想无非就是解决问题的方法。

其实问题很简单:

1.采图过程中偶尔会报错。错误类型是Unhandled Exception.因为是偶然出现的,所以我一时不知道如何下手。所以一开始就读代码,看是看不出来的,后来老师指导说要定位错误。首先报这样的错误,一定是哪里出错了。我一开始还想是不是偶然的错误操作引起的?后来证明这种报错确实是代码中没考虑周全,文件被占用所导致的。老师建议我要先追踪到错误的地方,然后再修改代码。我通过写日志的方式,try...catch...错误,因为有些操作我以为不会出错,也就没写日志。所以开始的一两天也没有找到错误。因为在一个软件中找一个操作引起的偶然错误有些困难,老师又建议我自己写demo测,我于是就自己写相同功能的代码测,写着测着还没写几句,错误就找到了,原来是打开的图像文件忘记关闭资源,导致才会出错。

2.采图老是采到上一幅图。这个也是个偶然问题。心想着肯定又是代码哪里设计不合理造成的。所以苦苦读代码研究,结果没找出来。其实现在想想应该这样分析:既然是偶然问题,说明错误不明显。应该又是什么小失误。另外采图没出错,只是重复采,错位采,应该重点看采图函数。跟进采图函数看是否出错。其实最终错误也就是在这。因为调用第三方函数,我总以为是自己代码问题,没怀疑过第三方函数。而最终的结果表明正是第三方函数会报错!所以不要想当然,附加采图画面静止等问题也都迎刃而解。

总结来说:偶然错误并不可怕。首先要认清它一定是个bug,要细心耐心地寻找。try...catch...加写日志应该能定位,定位之后就好解决了。解决问题的根本方法是认清问题的本质,认清问题才能解决问题。最后自己要始终保持客观,不要排除可能出错的地方。


你可能感兴趣的:(bug,调试,偶然错误)