Неправильная версия dll (MSVCR90d.dll вместо MSVCR90.dll) используется для оператора удаления, вызывая сбой. В стеке вызовов отображается только имя DLL, а не их путь. Как увидеть путь?
Редактировать: я строю в режиме выпуска, а не в режиме отладки. Так почему же используется отладочная DLL? Я видел ту же проблему, о которой сообщалось на многих других сайтах, но не смог найти работающего решения.
Вчера я обнаружил, используя Dependency Walker, что отладочная dll забирается, поэтому я переименовал dll, затем релизная версия была подхвачена в Dependency Walker, и моя программа также не вылетала. Сегодня я ничего не изменил, но программа снова начала зависать. И когда я вижу дерево обхода зависимостей, оно показывает MSVCR90d.dll (dll отладки) со знаком вопроса, говоря, что не может найти его в пути. Почему он не может забрать релиз DLL? Также я не знаю, откуда dll отладки используется во время выполнения.