Ошибка повреждения кучи при удалении указателя - PullRequest
1 голос
/ 08 июля 2010

Я получаю ошибку повреждения кучи при удалении указателя. Для этого проекта параметр связывания для рандомизированного базового адреса установлен на Отключить рандомизацию изображения. Не уверен, почему это так. Во всяком случае, я получаю эту ошибку, только когда включен конкретный заголовочный файл библиотеки. Странно то, что даже если этот заголовочный файл включен, если для параметра «Рандомизированный базовый адрес» установлено значение «Включить рандомизацию изображения», ошибка не появляется. Так действительно ли происходит повреждение кучи или мне просто нужно изменить параметр связывания?

1 Ответ

2 голосов
/ 08 июля 2010

Рандомизированный базовый адрес указывает, всегда ли загружать библиотеку по одному и тому же адресу. Рандомизация обеспечивает некоторый уровень безопасности, предотвращающий вызов / изменение кода эксплойтами.

Почти наверняка есть проблема с кучей в вашем проекте, и, скорее всего, она не связана с включенным заголовком. Скорее всего, заголовок представляет некоторый символ, который использует поврежденную кучу, вызывая проблему. Точно так же при рандомизации базового адреса ваша куча все еще искажается, но проблема никогда не проявляется очевидным образом (хотя некоторые вещи могут работать немного неправильно).

Если вы можете использовать средство проверки памяти или распределитель отладки, который может вам помочь.

В противном случае, к сожалению, без кода / дополнительной информации будет очень сложно дать вам дополнительные подсказки.

...