内存对齐引起的bug

       耗费一整天的时间,最后是#pragma pack(push,1),少写了push,导致运行时报段错误,同时由于对齐错误,导致程序很早乱了,在我用gdb调试时,在堆栈提示的错误的地方打断点,单步调试却进入了时间函数,这让我很困惑,上网搜无果。我只能另辟蹊径,通过把自己写的代码少部分的编译执行,缩小代码可能出错的范围,可把我累坏了,这次可真是记忆尤深。

      不过也学到了,不能仅仅通过代码调试来定位问题,要利用一切可能的信息,多尝试各种途径,提高分析定位问题的能力。代码的添加要少量多次,这样每次出错误的时候,就好检查多了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章