堆删除指针时出现堆损坏错误

时间:2010-07-08 01:20:21

标签: c++ visual-c++ heap-corruption

删除指针时出现堆损坏错误。对于此项目,Randomized Base Address的链接参数设置为Disable Image Randomization。不确定为什么这样设置。无论如何,我只在包含库的特定头文件时才会出现该错误。奇怪的是,即使包含该头文件,如果将随机基址设置为启用图像随机化,则不会出现错误。那么是否存在堆损坏或者我应该只更改链接参数?

1 个答案:

答案 0 :(得分:2)

随机化基址指示是否始终在同一地址加载库。随机化它提供了一定程度的安全性,以防止漏洞利用调用/修改代码。

几乎可以肯定,您的项目中存在堆问题,并且很可能与包含的标头无关。可能是标头引入了一些使用损坏的堆的符号,从而导致问题。类似地,当随机化基地址时,你的堆仍然会被破坏,但问题永远不会以明显的方式表现出来(虽然事情可能有些不正确)。

如果您能够使用可能能够帮助您的内存检查程序或调试分配程序。

否则很遗憾没有代码/更多信息,很难给你额外的提示。