博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用屏蔽法找bug的总结
阅读量:1992 次
发布时间:2019-04-27

本文共 502 字,大约阅读时间需要 1 分钟。

总结

今天用屏蔽法找bug吃亏了。

bug描述:有一个上下文类,在上下文中的内容都丢在里面。本来是在找内存泄漏,没想到,当这个类不用时,去删除它,每次都崩溃。那就不能先去找内存泄漏了,先得将崩溃问题搞定。

以前,这个cm的其他版本出现过类似问题,是将此类的成员变量写冒了,覆盖了其他成员变量,导致删除时报错。 我很自然的就想用屏蔽法,从底下往上屏蔽,如果真是和上次一样,是写冒了引起的。应该很快能屏蔽出不崩溃的情况。

整了10几,20次,还是没有屏蔽出不崩溃的情况。

没折了,还是自顶向下屏蔽吧。

这下可好,除了new这个类,删这个类指针的代码,屏蔽了所有其他代码,还是报错。
再去看删除这个类用的宏,原来是delete[] p. new一个类,不是一个类数组,必须要用delete p, 而不能是delete[] p. 否则崩溃。

这bug以前修复过,不知道咋的,可能这个工程比较早,这个bug没修复,也可能同事在现场修复后,没提交到这个svn分支。

吃亏了,用了一个下午。

看来屏蔽法,还是要自顶向下。在流程分支上用2分法屏蔽,很快就能定位到问题代码块,然后再去分析调试。想当然的屏蔽,太浪费时间了。

转载地址:http://kfmvf.baihongyu.com/

你可能感兴趣的文章
NAS (Network Attached Storage 网络附属存储)
查看>>
Ubuntu更新后终端中字体的颜色全是白色
查看>>
vscode git
查看>>
基于MATLAB的二进制数字调制与解调信号的仿真——2PSK
查看>>
基于MATLAB的模拟调制信号与解调的仿真——DSB
查看>>
基于MATLAB的模拟调制信号与解调的仿真——SSB
查看>>
HDU - 1166 敌兵布阵 (树状数组模板题/线段树模板题)
查看>>
CodeForces - 761C Dasha and Password (思维 暴力)
查看>>
POJ - 2481 Cows (树状数组 入门题)
查看>>
计蒜客ACM-ICPC 2018 焦作赛区网络预赛 L. Poor God Water(BM/矩阵快速幂)
查看>>
CodeForces - 987C Three displays (暴力/dp)
查看>>
计蒜客 NAIPC 2016 F. Mountain Scenes(dp)
查看>>
牛客国庆集训派对Day4——I 连通块计数(思维)
查看>>
牛客国庆集训派对Day4——G 区间权值(找规律,双重前缀和)
查看>>
牛客国庆集训派对Day5——L 数论之神(找规律/数论)
查看>>
CodeForces - 629C Famil Door and Brackets (dp)
查看>>
CodeForces - 629B Far Relative’s Problem(模拟)
查看>>
CodeForces - 1060B Maximum Sum of Digits (思维)
查看>>
CodeForces - 1059B Forgery (思维)
查看>>
CodeForces - 456C Boredom (dp)
查看>>