Pourquoi Visual Studio 2010 ne peut-il pas trouver / ouvrir les fichiers PDB?

J’essaie d’utiliser OpenCV dans VS 2010. Je suis un amateur et j’apprends les premiers pas depuis le wiki OpenCV. Cependant, en essayant de déboguer mon projet, j’obtiens les erreurs suivantes:

‘C: \ Windows \ SysWOW64 \ ntdll.dll’, Impossible de trouver ou d’ouvrir le fichier PDB ‘C: \ Windows \ SysWOW64 \ kernel32.dll’, Impossible de trouver ou d’ouvrir le fichier PDB ‘C: \ Windows \ SysWOW64 \ kernellbase. dll ‘, Impossible de trouver ou d’ouvrir le fichier PDB

J’ai ces fichiers dans le bon répertoire, alors pourquoi ne peut-il pas les ouvrir? Que dois-je faire pour résoudre le problème?

Commencez par modifier les parameters suivants:

Outils -> Options -> Débogage -> Symboles -> Serveur -> Oui

Ensuite, appuyez sur Ctrl + F5 et vous verrez des choses étonnantes.

Je suis sûr que ce sont des avertissements , pas des erreurs. Votre projet devrait toujours fonctionner correctement.

Cependant, puisque vous devriez toujours essayer de corriger les avertissements du compilateur, voyons ce que nous pouvons découvrir. Je ne suis pas du tout familier avec OpenCV, et vous ne liez pas au tutoriel de wiki que vous suivez. Mais il me semble que le problème est que vous exécutez une version 64 bits de Windows (comme en témoigne le dossier “SysWOW64” dans le chemin d’access aux fichiers DLL), mais les éléments OpenCV que vous essayez sont construits pour une plate-forme 32 bits. Vous devrez peut-être reconstruire le projet à l’aide de CMake, comme expliqué ici .

Plus précisément, les fichiers répertoriés sont des fichiers système Windows. Les fichiers PDB contiennent des informations de débogage que Visual Studio utilise pour vous permettre d’entrer et de déboguer du code compilé. Vous n’avez pas vraiment besoin des fichiers PDB pour que les bibliothèques système puissent déboguer votre propre code. Mais si vous le souhaitez, vous pouvez également télécharger les symboles des bibliothèques système. Allez dans le menu “Déboguer”, cliquez sur “Options et parameters” et faites défiler la liste vers la droite jusqu’à ce que “Activer le support du serveur source” s’affiche. Assurez-vous que cette option est cochée. Ensuite, dans l’arborescence de gauche, cliquez sur “Symboles” et assurez-vous que l’option “Microsoft Symbol Servers” est sélectionnée. Cliquez sur OK pour fermer la boîte de dialog, puis essayez de reconstruire.

Visual Studio Community Edition 2015

Vous avez eu cette erreur toute la journée. Je l’ai finalement corrigé en allant dans Outils> Paramètres d’importation et d’exportation> Réinitialiser toutes les options> Réinitialiser les parameters généraux.

Une fois la réinitialisation effectuée, accédez à Outils> Options> Débogage> Symboles> – Puis cochez la case en regard de Serveurs Microsoft Symbol.

Exécutez votre application en mode débogage, et cela ouvrira Windows en disant qu’il télécharge des symboles pour un tas de fichiers .dll différents. Laissez-le finir de faire ça.

Une fois terminé, il devrait fonctionner à nouveau.

J’ai eu le même problème. Il s’avère que, en compilant un projet que j’ai reçu de quelqu’un d’autre, je n’ai pas défini le bon projet de démarrage (clic droit sur le projet de démarrage souhaité dans l’explorateur de solutions et sélectionnez “définir en tant que projet de démarrage”). Peut-être que cela aidera, bravo.

Pour les utilisateurs de VS2013 qui se trouvent ici comme je l’ai fait:

Tools -> Options -> Debugging -> Symbols 

Vous verrez que les Cache symbols in this directory: champ est vide; vous pouvez soit parcourir / entrer le chemin vous-même ou simplement aller de l’avant et cliquer sur le bouton Load all symbols . Une fenêtre d’alerte apparaîtra indiquant “Puisque vous n’avez pas sélectionné de répertoire de cache de symboles, la valeur par défaut sera utilisée”. Vous verrez maintenant C:\Users\XXXX\AppData\Local\Temp\SymbolCache dans le champ précédemment vide. Cliquez sur Load all symbols une seconde fois et vous devriez être configuré. Appuyez sur OK, et par souci de diligence, nettoyez et reconstruisez votre solution.

Se référant au premier thread / autre possibilité VS ne peut pas ouvrir ou trouver le fichier pdb du processus lorsque votre exécutable est exécuté en arrière-plan. Je travaillais avec mpiexec et j’ai rencontré ce problème. Toujours vérifier votre gestionnaire de tâches et tuer tout processus exec que vous allez construire dans votre projet. Une fois que j’ai fait cela, il a débogué ou bien construit.

De plus, si vous essayez de continuer avec l’avertissement, les points d’arrêt ne seront pas atteints et l’exécutable actuel ne sera pas activé

J’ai constaté que ces erreurs sont parfois dues à un manque d’permissions lors de la compilation d’un projet – donc je cours en tant qu’administrateur pour le faire fonctionner correctement.

J’ai les mêmes avertissements. Je ne suis pas sûr qu’il s’agisse de 32 vs 64 bits. Juste chargé les nouveaux symboles et certains problèmes ont été résolus, mais ceux concernant OpenCV persistent toujours. Ceci est un extrait de la sortie avec un problème résolu vs non résolu:

‘OpenCV_helloworld.exe’: Loaded ‘C: \ OpenCV2.2 \ bin \ opencv_imgproc220d.dll’, Impossible de trouver ou d’ouvrir le fichier PDB

‘OpenCV_helloworld.exe’: Loaded ‘C: \ WINDOWS \ system32 \ imm32.dll’, Symboles chargés (informations source supprimées).

Le code quitte 0 au cas où quelqu’un demanderait.

Le programme ‘[4424] OpenCV_helloworld.exe: Native’ est sorti avec le code 0 (0x0).

J’ai eu le même problème. Le débogage ne fonctionne pas avec les éléments fournis avec l’exécutable OpenCV. vous devez construire vos propres binarys.
Activez ensuite les serveurs Microsoft Symbol dans Debug-> options et parameters-> debug-> symboles

J’ai rencontré le même problème. Lorsque j’ai exécuté mon test unitaire sur du code C ++, j’ai reçu une erreur indiquant “Impossible de trouver ou d’ouvrir le fichier PDB”.

Journaux

Lorsque j’ai regardé le journal de sortie dans Visual Studio, j’ai vu qu’il cherchait dans le mauvais dossier. J’avais renommé le dossier WinUnit, mais quelque chose dans le code WinUnit recherchait le fichier PDB utilisant l’ancien nom de dossier. Je suppose qu’ils l’ont codé en dur.

Trouvé le problème

Lorsque j’ai téléchargé et décompressé les fichiers WinUnit pour la première fois, le dossier principal s’appelait “WinUnit-1.2.0909.1”. Après avoir décompressé le fichier, j’ai renommé le dossier “WinUnit” car il est plus facile à taper lors de la configuration du projet Visual Studio. Mais apparemment, cela a brisé la capacité de trouver le fichier PDB, même si j’ai tout configuré en fonction de la documentation WinUnit.

Mon correctif

J’ai changé le nom du dossier pour l’original, et cela fonctionne.

Bizarre.

Eu le même problème ici, mais une solution différente a fonctionné.

Tout d’abord, j’ai essayé ce qui suit, dont aucun n’a fonctionné:

  1. Charger les symboles comme suggéré par seanlitow

  2. Supprimer / Ajouter une référence à PresentationFramework et PresentationCore

  3. Redémarrer le système

La solution consistait à annuler les dernières modifications apscopes à mon code. Je venais d’append deux boutons radio et des gestionnaires d’événements pour les événements cochés et non vérifiés. Après avoir supprimé mes modifications récentes, tout est compilé. J’ai ensuite ajouté mes modifications exactes et tout compilé correctement. Je ne comprends pas pourquoi cette seule chose travaillée à laquelle je pense est un problème avec ma solution VS. Quoi qu’il en soit, si aucune des autres suggestions ne fonctionne, vous pouvez essayer de revenir sur vos dernières modifications. REMARQUE: si vous fermez et rouvrez Visual Studio, votre historique d’annulation est perdu. Vous pouvez donc essayer ceci avant de fermer VS.