实操下来,栈被破坏是比较好查的,就在当前函数内部,仔细看看代码就能分析出来,如果是遥远的另一个地方写越界到这里,那肯定也不止就这一处栈被破坏,所以可以回归到查堆越界的办法。而指针飞了这种,本质上就是内存被越界覆写了,不管是堆上的指针还是栈上的指针,同样可以回归到查堆栈内存越界的方法。所以以前我们在开发阶段,是直接使用自己封装的一套api,等代码稳定后,再通过宏转成系统的。
【 在 beanspower 的大作中提到: 】
:
: 所以说没有统一办法。这种最多对malloc申请的内存有用。如果是函数堆栈直接越界写,或者指针飞了以后的写,都不好检查。往往绕了很远才表现出问题。
--
FROM 115.192.117.*