有关HEAP: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed
时间:2010-10-29 来源:轻装旅行
原文:http://hi.baidu.com/xjhfox/blog/item/e5462e0d7194e5266059f3e3.html
相关文章:
再谈野指针问题Free Heap block xxx modified at xxx after it was freed
http://blog.csdn.net/b2b160/archive/2009/09/17/4560909.aspx
个人心得:
野指针所造成的错误,往往非常隐蔽!而且让人不知所错。
所以在使用指针时一定要非常小心,为了避免发生野指针的情况,一定要确保new出的内存在删除之后,所有关联该内存的指针都要设为空指针,或清除。
例子:
在我的游戏引擎里,设有渲染工厂,每一帧都会接收渲染对象的指针,通过这些指针渲染这些对象。在一帧渲染完之后,清除掉所有的渲染对象的指针。
这些看似是安全的,但是却有很危险的安全隐患。
例如,在一个类里,生成有渲染对象。当把这些渲染对象的指针传给渲染工厂后,该类被删除了,相关的渲染对象也随之被释放了。但是在渲染工厂里还保留着这些渲染对象的指针,这就造成了野指针的现象。
相关阅读 更多 +