C++开发调试笔记---避免低级错误

来源:互联网 发布:软件和电子地图关系 编辑:程序博客网 时间:2024/06/05 17:41

Linux C++开发调试笔记---避免低级错误与调试信息


1.for(size_t n = 100;n>=0;n--)

//错误:当n=0时,n-1将是一个很大的正数,该循环无法退出;


2.两个单精度或者双精度数之间的比较不能用“=”来判断,而是两个数的差的绝对值小于一个很小的双精度数 eg:1.0E-6;


3.gdb 关于value optimized out,通常是类型不匹配。结构体新增加成员之后,项目代码需要需要make cleanall ,再make all。


4.

将'const xxx'作为'xxx'的'this'实参时丢弃了类型限定(原因)



5.Undefined reference to 类的某个方法函数()
这种情况一般都是函数声明了没有定义;或者声明和定义使用的函数名和参数不一致。


6.

写代码时一定要注意避免犯低级错误,单纯依靠异常信息有时难以准确定位出错的位置,有时需要通过审查报错位置前后相关的代码等方法才能找出出错的真正原因。也可以注释掉抛异常的执行语句,---直接让程序core掉,通过gdb调试信息准确发现错误---。



0 0
原创粉丝点击