删除指针时出现堆损坏错误。对于这个项目,Randomized Base Address 的链接参数设置为 Disable Image Randomization。不知道为什么这样设置。无论如何,只有在包含库的特定头文件时,我才会收到该错误。奇怪的是,即使包含该头文件,如果将随机化基地址设置为启用图像随机化,也不会出现该错误。那么是否真的存在堆损坏,或者我应该只更改链接参数?
最佳答案
Randomized Base Address 指示是否始终在同一地址加载库。随机化它提供了一定程度的安全性,以防止利用调用/修改代码。
几乎可以肯定您的项目中存在堆问题,并且很可能与包含的 header 无关。可能是 header 引入了一些使用损坏堆的符号,从而导致了问题。同样,当随机化基地址时,您的堆仍然会损坏,但问题从未以明显的方式表现出来(尽管事情可能会稍微不正确)。
如果您能够使用内存检查器或调试分配器,它们可能会为您提供帮助。
否则不幸的是,如果没有代码/更多信息,将很难给您额外的提示。
关于c++ - 删除指针时堆损坏错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3200081/