При удалении указателя я получаю ошибку куча повреждения. Для этого проекта для параметра привязки для рандомизированного базового адреса установлено значение «Отключить рандомизацию изображения». Не уверен, почему это так. Во всяком случае, я получаю эту ошибку только в том случае, если включен конкретный заголовочный файл библиотеки. Странно то, что даже если этот заголовочный файл включен, если для рандомизированного базового адреса установлено значение «Включить рандомизацию изображения», ошибка не появляется. Так действительно ли существует кучевое повреждение или мне нужно просто изменить параметр привязки?Ошибка повреждения кучи при удалении указателя
ответ
Рандомизированный базовый адрес указывает, следует ли всегда загружать библиотеку по тому же адресу. Рандомизация обеспечивает некоторый уровень безопасности, чтобы не допустить, чтобы эксплойты вызывали/изменяли код.
Почти наверняка в вашем проекте есть проблема с кучей и, скорее всего, она не связана с включенным заголовком. Скорее всего, заголовок вводит некоторый символ, который использует поврежденную кучу, вызывая проблему. Аналогично, при рандомизации базового адреса ваша куча все еще повреждается, но проблема никогда не проявляется явно очевидным образом (хотя вещи могут работать немного неправильно).
Если вы можете использовать контроллер памяти или отладчик, который может вам помочь.
В противном случае, к сожалению, без кода/дополнительной информации будет очень сложно дать вам дополнительные подсказки.
- 1. Ошибка повреждения кучи при удалении массива
- 2. повреждение кучи при удалении указателя массива C++
- 3. Повреждения кучи при использовании make_shared
- 4. Ошибка сегментации при удалении указателя
- 5. Ошибка кучи при перегрузке новых и удалении
- 6. Ошибка кучи повреждения в Visual Studio при освобождении динамической памяти
- 7. Ошибка повреждения кучи при попытке освободить двумерный массив
- 8. Ошибка повреждения кучи при освобождении массива в C++
- 9. Ошибка сегментации (ядро сбрасывается) при удалении указателя
- 10. Ошибка отладки C++ при удалении вектора указателя
- 11. Ошибка при удалении указателя в dll C++
- 12. Ошибка при удалении указателя в деструкторе
- 13. Сегментация Ошибка при удалении указателя char
- 14. Segfault при удалении указателя
- 15. Как отлаживать ошибки повреждения кучи?
- 16. повреждения кучи обнаружено двухконцевой массив
- 17. Повреждение кучи при удалении строки
- 18. ошибка повреждения кучи; не удалось выпустить cv :: Mat opencv
- 19. Ошибка при удалении матриц 2D-указателей [обнаружено повреждение кучи]
- 20. Как диагностировать ошибки повреждения кучи в Windows?
- 21. понимание повреждения кучи в доступе к памяти
- 22. повреждения кучи обнаружено после нормального блока (# 181)
- 23. Повреждения кучи обнаружено: после нормального блока (# 62)
- 24. C++ - Как найти источник повреждения кучи/стека при выходе программы
- 25. Оператор удаляет причинение повреждения кучи при работе нового рабочего рабочего
- 26. Ошибка при удалении указателя, который был объявлен как новый?
- 27. Регистр указателя кучи?
- 28. Ошибка повреждения памяти при использовании auto_ptr
- 29. деструктора не вызывается при удалении пустого указателя
- 30. Core Dump при удалении указателя C++
Любой шанс, что вы удаляете базовый указатель? Если это так, убедитесь, что базовый класс определяет виртуальный dtor. – stinky472
Обычно это (и почти всегда) проблема с кодом, а не с настройками компилятора или системными заголовками. Вероятно, вы где-то переписывали какую-то память, и, случайно, она не попала в критические части системы, если не включать определенные заголовки или использовать определенные настройки компилятора. Дополнительная информация, такая как примеры кода, будет полезна здесь. – 5ound
Отправьте код для этого класса. –