2010-08-20 5 views
1

J'essaie de faire fonctionner un de nos anciens jeux pour pouvoir le relancer. Il fonctionne autre que le fait que lorsque je lance d'abord l'exécutable, je reçois le message d'erreur suivant:DLL avec un chemin PDB non valide

«Il n'y a pas de disque dans le lecteur S'il vous plaît insérez un disque dans le lecteur \ Device \ Harddisk4 \ DR4 »

Ensuite, quand je clique sur "Annuler" ou "Continuer", il continue à charger le jeu et fonctionne bien.

J'ai donc chargé l'exe dans un désassembleur, et il s'avère être en essayant de charger les symboles pour granny2.dll. Voici le callstack:

callstack image http://www.dracan.co.uk/temp/grannybugcallstack.png

Il essaie de charger granny2.pdb (qui fera partie de la bibliothèque Granny 3D) à partir d'un lecteur/répertoire Je n'ai pas.

Dans notre répertoire de jeu, il y a granny2.dll. Alors j'ai couru que grâce à l'utilitaire dumpbin de Visual Studio, et ce chemin est fait référence dans ce:

Debug Directories 

    Time Type  Size  RVA Pointer 
-------- ------ -------- -------- -------- 
40493D28 cv   37 00000000 5A400 Format: NB10, 3FF4AC61, 32, h:\build\granny\release\rt\granny2.pdb 

Je pris quelques versions de cette DLL à partir de diverses sources en ligne, et ils semblent tous avoir le même chemin PDB dans le DLL

Quelqu'un peut-il penser à contourner ce message d'erreur?

Je cours Windows7. Un collègue exécute Vista et vient juste de commencer à le voir mais l'a exécuté la semaine dernière sans avoir l'erreur. Malheureusement, il ne peut pas penser à tout ce qui a changé sur son ordinateur depuis. Un autre collègue qui exécute XP n'a pas cette erreur du tout

Merci pour toute aide avec ceci,
Dan.

+1

Je ne comprends pas. Cette pile d'appels est tout au sujet de la bibliothèque d'aide de débogage; Est-ce que cela n'arrive que quand il est débogué? – Luke

+0

Non, cela arrive aussi du débogueur. Je l'ai juste chargé dans un désassembleur pour découvrir ce que le code appelait pour faire apparaître cette boîte de message. Une fois cette boîte de message apparue, j'ai appuyé sur le bouton de désassemblage, et c'est la callstack que ça m'a donné. Peut-être que c'est un harcèlement rouge - mais c'est le même message d'erreur dans ou hors du débogueur cependant. – Dan

+1

Donc le jeu lui-même essaie de charger ses propres symboles de débogage? Cela me semble un peu étrange. Quel code fait cela - le jeu lui-même ou la bibliothèque Granny 3D? – Luke

Répondre

0

Puisque vous avez dit cela fonctionne sur votre machine collegue XP, vous pouvez l'essayer en cours d'exécution en mode XP de virtualisation dans la victoire 7.

+0

Je l'ai essayé en mode compatibilité, ce qui n'a pas fait de différence. J'ai juste essayé d'installer le PC virtuel (je présume que c'est ce que vous vouliez dire), mais il me demande maintenant de redémarrer pour la 3ème fois - ce qui prend environ une demi-heure sur cette machine lente. Étant donné que même si cela fonctionne en mode Virtualisation, cela ne nous aidera pas vraiment à résoudre le problème - alors cela ne vaut pas vraiment la peine de perdre du temps à essayer de le tester. A moins que je manque un point à ce test? – Dan

+0

ce que je voulais dire était le mode de compatibilité sur la machine win 7 qui est disponible sur les saveurs supérieures comme l'ultime. Il utilise la virtualisation des processeurs (si disponible) pour ne pas ralentir votre machine. Et oui, c'est bizarre qu'il ait essayé de charger le pdb dans le jeu. Avez-vous examiné la même chose (granny.dll) sur la machine de votre collègue? Essayez d'obtenir sa version de la DLL et le faire fonctionner. –

+0

Je vois qu'il n'y a pas trop de gens qui se plaignent de ça. Donc, probablement, cela pourrait être un problème de configuration unique. S'il vous plaît voir si cela aide, même si on dirait que ce sont des étapes génériques pour résoudre les problèmes de dll et non spécifiques à granny.dll: http://pcsupport.about.com/od/findbyerrormessage/a/granny-dll- non-found-missing-error.htm –

0

Vous pouvez essayer de contacter le vendeur de grand-mère 3D, car il est un produit 12000 $. Ils peuvent être désireux et capables de fournir quelques conseils pour surmonter le problème.

0

La DLL a été créée avec Visual Studio 6.0 comme indiqué par le drapeau NB10.