2009-07-09 5 views
2

Existe-t-il un moyen de mettre à jour le fichier PDB avec le nouvel emplacement source? J'ai un projet qui lie à certaines bibliothèques qui sont construites sur une autre machine et sont construites avec le fichier PDB. Je ne peux pas mettre un point d'arrêt dans les fichiers qui sont compilés dans les bibliothèques. Ces libs prennent plus de 4 heures à construire donc je ne veux pas les installer sur ma machine. Existe-t-il un moyen de faire en sorte que le compilateur utilise les nouveaux chemins source? J'utilise VS 2005 pro C++.Mise à jour des fichiers PDB sans reconstruction

Merci Amit

Répondre

1

Au lieu de modifier les fichiers .pdb pour régler à l'endroit où vous avez votre source, vous devriez être en mesure de faire le débogueur voir le nouveau chemin source. Regardez here pour les instructions sur ce faire dans Visual Studio, et here pour les instructions sur ce faire dans WinDbg.

Autre cette question StackOverflow: Best Visual Studio 2008 Debugging Tutorial.

+0

Salut Jared, Merci pour votre réponse. J'ai essayé votre solution, mais je ne peux toujours pas ajouter de point de rupture. Pouvez-vous me diriger vers un article ou une ressource où je peux obtenir un fonctionnement détaillé du débogueur, comme il utilise le fichier pdb. Avez-vous d'autres suggestions ? Merci encore pour votre aide. Salutations Amit – amit

+0

J'ai mis à jour ma réponse avec un lien vers une autre question de StackOverflow qui a beaucoup de liens vers des tutoriels. J'ai vu ce que vous vivez, mais je ne me souviens pas de ce que j'ai fait pour le "convaincre" de la source. Une stratégie peut être de définir un point d'arrêt sur une fonction, que vous pouvez spécifier par nom au lieu de cliquer sur la source. –

1

Le débogueur récupère-t-il les fichiers .pdb au mauvais endroit? Avez-vous une copie des fichiers .pdb qui correspondent aux fichiers binaires (c'est-à-dire .exe, .dll) que vous exécutez? Gardez à l'esprit que les fichiers .pdb ne peuvent être utilisés que s'ils ont été créés en même temps que les fichiers que vous êtes en train d'exécuter.

les opérations suivantes:

  1. Renommez le (obsolète) fichier .pdb que le débogueur veut charger, de sorte que le débogueur ne tentera plus de le ramasser.

  2. Accédez à Tools->Options->Debugging->Symbols et ajoutez l'emplacement du fichier de symboles (.pdb) à la liste. Si le débogueur est déjà attaché, faites un clic droit sur le module dans la liste "Modules" et cliquez sur "Charger les symboles". Cela va recharger les symboles du chemin que vous avez entré.

De plus, si vous connaissez le code est exactement le même, mais votre fichier .pdb ne correspond pas aux binaires que vous utilisez, car ils ont été créés au cours des différentes builds, essayez décochant la case à cocher suivantes:

Tools->Options->Debugging->Require source files to exactly match the original version