Проблема с кучей с использованием максимальной скорости, но не с минимальным размером

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

Я знаю некоторые различия между отладкой и выпуском, поэтому я проверяю возможные проблемы с инициализацией. Но может ли тот факт, что моя dll работает в минимальном размере выпуска, но не в максимальном размере, дать мне немного больше информации о том, какую ошибку я сделал?

Каковы основные различия между двумя произведенными бинарными файлами? (исключая размер исполняемого файла и скорость выполнения, конечно).

P.S. : моя dll содержит много виджетов QT. Я не знаю, может ли это помочь, но если с этими объектами часто делают ошибки...


person Castor Malin    schedule 02.04.2012    source источник
comment
Без кода ваше решение, скорее всего, будет невозможно решить; можно дать только общие (очевидные) советы.   -  person orlp    schedule 02.04.2012
comment
Каково ваше сообщение об ошибке? © В каком состоянии находится стек, когда возникает ваша проблема? Может ли быть двойное удаление или переполнение буфера?   -  person Jem    schedule 02.04.2012


Ответы (1)


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

Ответ на вопрос Как отладить ошибки повреждения кучи? дает отличный обзор отладки повреждение памяти.

person uesp    schedule 02.04.2012