内存越界是C/C++开发中常见的问题,这可能会导致段错误,也可能对程序完全没有影响,也可能会改变其它变量的值。
出现段错误时比较容易定位,直接gdb,r,bt基本可以找到问题所在。
如果对程序没有影响,这将会成为一个巨大的隐患,很可能会被其它条件触发。
其它变量值被改变是最严重的后果,因为一旦发生这种情况,定位问题将变得十分困难。
对于这类问题基本上市一遍遍单步后发现某个值被改变,定位以走查代码为主,分析内存地址以及值为辅。
参考以下文章
C/C++实际开发中常见问题及预防、定位方法系列(二)