2009-12-27 8 views
0

J'ai un projet * .exe qui a été écrit dans une solution sous vs2005 et j'ai un fichier DLL que le projet * .exe utilise. le problème est que la DLL a été écrit dans la solution adiffrent et quand j'essaye de faire attacher au fichier * .exe (après que je l'exécute) de la solution dll afin de déboguer la DLL, je reçois aucuns symboles sont chargés erreur (et je ne peux pas déboguer le dll) altough symboles ont été chargés (je peux voir les fichiers * .pdb qui ont créé après avoir compilé la solution dll).Déboguer DLL dans une solution différente

Que puis-je faire?

Répondre

0

Cochez d'abord la fenêtre de sortie, elle montrera si elle peut ou non trouver des symboles de débogage pour la DLL lorsqu'elle est chargée. Ensuite, passez à Debug + Windows + Modules, cliquez-droit sur votre DLL et choisissez "Informations sur le chargement des symboles". Cela montre où le débogueur a cherché des fichiers .pdb pour la DLL. Vérifiez que le fichier .pdb se trouve dans l'un de ces chemins.

Si le problème n'est pas d'obtenir le code source de la DLL au lieu de fichiers .pdb manquants, supprimez d'abord le fichier .suo masqué dans le répertoire de la solution. La prochaine fois que vous déboguez dans la DLL, Visual Studio vous demandera à nouveau de fournir le chemin d'accès au fichier de code source. N'appuyez pas sur Échap, entrez le chemin. Une autre chose que vous pouvez faire est de cliquer droit sur la solution dans la fenêtre de l'Explorateur de solutions, Propriétés, Propriétés communes, Fichiers source de débogage. Ajoutez le chemin d'accès au répertoire de code source DLL.

0

Si vous avez le projet Visual Studio qui génère la DLL, compilez-le dans la configuration de débogage et lancez le débogage. On vous demandera un exécutable; sélectionnez celui que vous avez (à partir de votre autre solution) et vous serez en mesure de déboguer la DLL.

Maintenant, si vous voulez déboguer les deux à la fois, je crois que votre chemin est correct, tant que la DLL que l'exe utilise est exactement celle que vous venez de compiler dans votre autre solution. C'est peut-être le problème que vous rencontrez.

Questions connexes