今天运行了一个程序,想要实现的是一个model文件的格式转换,程序运行出错,如下图所示:
大致能猜出是double *changeModel变量的问题,经求证后,有人指出是内存问题,可以考虑下标越界等异常,同时还介绍了一些调试方法如下:
(1)慢慢注释掉一些代码,进行测试。如果注释掉某段代码,错误不再出现,则定位成功。(二分法定位错误)
(2)二分法介绍:
比如:
先注释掉1/2的代码
如果错误消失,则错误在释掉的1/2代码中
否则在为注释的1/2代码中
然后再注释掉1/4的代码
循环
先注释掉1/2的代码
如果错误消失,则错误在释掉的1/2代码中
否则在为注释的1/2代码中
然后再注释掉1/4的代码
循环
总而言之,一个好的软件项目,其结构设计非常重要。不仅仅是方便代码复用,功能扩展,还应该方便调试排错。