Я пытаюсь заставить одну из наших старых игр работать, чтобы мы могли ее повторно отпустить. Он работает, кроме того, что, когда я сначала запустить исполняемый файл, я получаю следующее сообщение об ошибке:DLL с неверным пути PDB
«Там нет диска в дисководе Пожалуйста, вставьте диск в дисковод \ Device \ Harddisk4 \ DR4»
Затем, когда я нажимаю «Отменить» или «Продолжить», он продолжает загружать игру и отлично работает.
Итак, я загрузил exe в дизассемблер, и, оказывается, при попытке загрузить символы для granny2.dll. Вот CallStack:
callstack image 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.
Не понимаю. Этот стек вызовов относится к библиотеке справки Debug; это происходит только тогда, когда он отлаживается? – Luke
Нет, это происходит и из отладчика. Я просто загрузил его в дизассемблер, чтобы узнать, что вызывал код, чтобы вызвать появление этого сообщения. Как только это сообщение появилось, я ударил паузу в дизассемблере, и это тот столбец, который он мне дал. Возможно, это красная селедка, но это одно и то же сообщение об ошибке в отладчике или из него. – Dan
Итак, сама игра пытается загрузить свои собственные отладочные символы? Звучит немного странно для меня. Какой код делает это - сама игра или библиотека Granny 3D? – Luke