Я пытаюсь заставить одну из наших старых игр работать, чтобы мы могли переиздать ее. Это работает кроме того факта, что когда я первоначально запускаю исполняемый файл, я получаю следующее сообщение об ошибке:
" Нет диска в дисководе. Пожалуйста, вставьте диск в дисковод \ Device \ Harddisk4 \ DR4 "
Затем, когда я нажимаю «Отмена» или «Продолжить», происходит загрузка игры, и она отлично работает.
Итак, я загрузил exe-файл в дизассемблер, и он оказывается при попытке загрузить символы для granny2.dll. Вот стек вызовов:
изображение стека вызовов http://www.dracan.co.uk/temp/grannybugcallstack.png
Итак, он пытается загрузить granny2.pdb (который будет частью библиотеки Granny 3D ) из диска / каталога, которого у меня нет.
В нашем игровом каталоге есть granny2.dll. Итак, я запустил это с помощью утилиты dumpbin в Visual Studio, и на него есть ссылка:
Debug Directories
Time Type Size RVA Pointer
-------- ------ -------- -------- --------
40493D28 cv 37 00000000 5A400 Format: NB10, 3FF4AC61, 32, h:\build\granny\release\rt\granny2.pdb
Я взял несколько версий этой DLL из различных онлайн-источников, и у них, похоже, все одинаковые пути PDB в DLL.
Может кто-нибудь придумать, как обойти это сообщение об ошибке?
У меня Windows7. Коллега работает под управлением Vista, и он только что начал ее видеть, но запустил на прошлой неделе, не получив сообщения об ошибке. К сожалению, он не может думать ни о чем, что изменилось на его компьютере с тех пор. Другой коллега, использующий XP, вообще не получает эту ошибку
Спасибо за любую помощь в этом,
Dan.