Browsed by
Category: C++知识点

-fsanitize=address 参数作用

-fsanitize=address 参数作用

-fsanitize=address 参数作用

在C++的开发中,我们经常会遇到很多和内存有关的错误。其实使用编译器的一些检查功能,可以帮助我们一定程度上减少这样的错误,下面我们介绍一下
-fsanitize=address 的作用以及一些用法。 read more

代码调试小结

代码调试小结

1.书写调试代码很重要。
对于复杂的数据结构,我们往往很难在短时间看到是哪个函数修改了它,所以我们要增加调试函数。在Debug的过程中输出相关的信息,便于分析。
对于VC++ 可以用OutputDebugString,其他的不清楚。
函数的流程最好的数据结构的流程一致,这样的话便于层层分析,以便我们最后找到在哪个函数中计算错误。
2,测试程序不要掩盖问题
由于最近的项目要用到矩形切分,观察矩形的分布,所以写了一个程序来看。由于CDC的画矩形函数会导致重叠的矩形发生遮盖,掩盖了问题的本质。
所以导致分析陷入歧途,后来经过改变,将矩形改为用四条直线来画,分析出最后的原因。(不要写点代码,捎带写点bug)。
3,对于不懂的部分,一定要问原来的架构者。
老代码是我们经常遇到的问题,而且由于时间较长,改代码的人较多,每个人的思路不一致,导致代码很难阅读。这样就造成了,不敢随便删,不敢随便改。
我的办法是,如果有以前维护过这段代码的人,最好先问问他们,修改的时候采用的是什么思路。然后再讨论现在的修改办法。