Есть программа, написана на VC++2008 Express Edition. Стабильно работает на AMD Phenom. С недавних пор, заказчик сменил феномы на Intel Core i5. В 50% все установленных версий стала выскакивать ошибка при загрузке одной и той же модели(3d). Приложение используется Ogre, PhysX, OpenAL.
В чем может ошибка? Если информаци недостаточно - буду дополнять.
> стала выскакивать ошибка
> Если информаци недостаточно
Та что же это такое?
NIXIUS
> В чем может ошибка?
В работе с памятью.
Chipmunk
Что не так то?
Jimnik
Отличная версия - как лечить?
Во первых обнови студию и поставь все сервис паки для нее.
Если не поможет, ищи ошибку в коде.
my.name
Обновить - это в плане как раз проставить обновления для VS 2008 и докинуть ее СПшками? Не имеется в виду переход на старшие версии (аля 2010)?
NIXIUS
Перебирать весь код и смотреть где идёт обращение к массивам в области с невыделенной памятью. Больше ни как.
PS. Только не надо мне больше в личку писать
Куда-то в эту сторону копать http://netler.ru/pc/dump-2.htm
NIXIUS
> стала выскакивать ошибка при загрузке одной и той же модели
Смотрите, включены ли исключения плавающей точки.
Ghost2Спасибо, посмотрю
NIXIUS
Попробуй погонять с помощью DevPartner-а Он иногда показывает много чего интересного, что самостоятельно заметить невозможно, если специально не искать. DevPartner интегрируется прямо в VS, что удобно.
Можно попробовать обновить студию, но на текущую обычно тоже выходят патчи. дело в том что в процах бывают баги. Из называют неточностями. Вполне корректный код может не работать. В патчах к компиляторам, добавляют знания о багах и компилятор пытается либо обойти, либо сменить порядок вызовов.
Если проблема не в процах конкретной ревизии, то нужно смотреть код, максимум варнингов, выкинуть все опасные решения.
Можно попробовать софт специальный, он в рантайме проверяет выход за границу масива например. прогнать на таких тулзенях.
Тема в архиве.