c++趣味之难以发现的bug

这些bug可能够你喝一壶的。

 

1、被断言(assert)包含的代码

  常发生在切换到release版本时,执行结果乖乖的,最终查找结果是assert括号里的代码在release下是不执行的。

  发现:跟踪,执行不到代码

2、对象成员数据错乱了

  基本是成员内存上面的其他成员删除时越界了。class foo{int arr[2];int val;}这种情况如果arr[2]=3;那么val的值会被改变。

  发现:内存断点

3、内存泄漏

  这些内存挣脱了缰绳。

  发现:#include "crtdbg.h" 并且重载new,参考微软文档。linux下建议支持windows平台,可以利用强大的开发工具。

 

持续补充,欢迎提供补充

posted @ 2017-10-07 09:32  fyter  阅读(296)  评论(0编辑  收藏  举报