之前加上了一个UI库的DLL
之后偶然发现某2个小控件不见了,不能正常显示。
通过切换回原来的UI库,可以对比试验,发现问题出在本人替换的UI库上。
于是乎本人就要去debug。
先从定位该控件的ID开始,进入VS的条件断点的调试模式(by the way,微软的黑科技真的不少),后来发现确认调用了UI库的绘制函数啊,好像一切都没有问题啊。
我慌了,以为是之前替换的一些头文件依赖的问题。
leader其实也教会了我2种思路: 把好的玩成坏的,或者 把坏的玩成好的
我就一直改,往原来的UI库的模样去靠近,最后改了一大坨,发现正常了,于是就去找leader说我弄好了。
leader问我,问题的根源在哪里?我不知道,只能说弄好了。
leader一看我git上准备提交的一大坨代码,说我这些都是废代码
教导我: git上不要一下子提交那么多代码,不然根本不知道有效的修改在哪里
这个问题,必须找出问题的根源是哪里,现在做了那么多修改,就一个一个回滚,看看哪个是祸根。
一个bug, 必须要找出问题的根源才能算修复。应该在一系列的改动中,用二分法去查找问题根源。
通过一个个回滚,编译查看,发现罪魁祸首是一个图片信息结构体的位置初始化的错误,所以导致了2个控件的位置比较奇怪。
哎!主要也是当时没有想到会存在2个代码版本不一样的问题,一直以为是自己新建模块和DLL的时候编译设置有错误,所以就很懵逼
这个Bug花了2,3天的时间才解决