面对bug,除了冷静还是冷静~任你虐我千百遍,岿然不动从头看!
身为小白,级数不够,面对一个较大的系统,在遇到bug时通常会显得力不从心,我就是这样。如果调试时能报出准确的编译错误,也比较容易解决,怕就怕那种编译正确,运行结果出错的情况,这两天我就遇到了一个,加上自身急性子的缺点,就干脆抛开其他一切事情,非要解决了它不行,怎奈何急躁解决不了问题,做了一整天的无用功,真是naive之极啊!
闲话少说,这次bug原因也就是我在读取一个txt文件的时候文件名写错了(漏写了两个字母),结果,程序目录里面没有这个文件,从文件中读取的相关数据也自然是空的,承载这些数据的变量为0,在后面进行某个与此变量相关的内存分配时,也就没有分配。其实系统抛出了一个关于内存分配时Memory allocated:0的提示,因为定位到此位置是一个可以看作是内置的函数内容,从未修改过,就自信的以为是版本不兼容或者编译器设置方面的原因,结果在这两个方面找了一大堆的方法,挨个试了个遍,毫无例外是无用功。除此之外,我还误以为是某些变量占用内存没有释放导致的,把打开的东西关了个遍,重启了电脑,结果还是无用。无奈之下,搬出大神同窗贾某(此处thanks a lot),他虽然不懂我这个系统的细节,但是改bug的手艺可是一级的6,根据他的思路,在晚饭之前虽然没有找到原因,可是大致有了个方向,晚饭后,我顺着这个方向,仔细冷静的从头看了一下,结果,,药丸,,扇自己几个耳光的心情都有了,粗心导致的低级错误让我浪费了整整一天。好吧,写下一些东西,好得有一点收获吧~给自己一个耳光和拥抱,吃一堑长一智吧!