1. 程式人生 > >c++趣味之難以發現的bug

c++趣味之難以發現的bug

開發工具 支持 內存泄漏 數據 class int clas 包含 lease

這些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平臺,可以利用強大的開發工具。

持續補充,歡迎提供補充

c++趣味之難以發現的bug