Message d’erreur: Impossible de trouver ou d’ouvrir le fichier PDB

J’ai essayé d’exécuter des exemples de programmes fournis sur le site officiel de NVIDIA . La plupart des programmes se sont déroulés sans heurts, sauf pour quelques messages d’erreur similaires. Comment puis-je résoudre ce problème? Voici un exemple de message d’erreur que j’ai reçu après avoir exécuté un programme nommé “MasortingxMul”.

Remarque: J’ai installé NVIDIA CUDA Toolkit v5.0 x32 et x64 sur mon système d’exploitation Window7x64.

'masortingxMul.exe': Loaded 'C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin\win32\Debug\masortingxMul.exe', Symbols loaded. 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\cudart32_50_35.dll', Binary was not built with debug information. 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\apphelp.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\AppPatch\AcLayers.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\userenv.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\profapi.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\winspool.drv', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\mpr.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\nvinit.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\nvcuda.dll', Binary was not built with debug information. 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file 'masortingxMul.exe': Unloaded 'C:\Windows\SysWOW64\dwmapi.dll' 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\crypt32.dll', Cannot find or open the PDB file 'masortingxMul.exe': Loaded 'C:\Windows\SysWOW64\msasn1.dll', Cannot find or open the PDB file The thread 'Win32 Thread' (0x12fc) has exited with code 0 (0x0). The thread 'Win32 Thread' (0x18a0) has exited with code 0 (0x0). The program '[3104] masortingxMul.exe: Native' has exited with code 0 (0x0) 

Le fichier PDB est un fichier spécifique à Visual Studio qui contient les symboles de débogage pour votre projet. Vous pouvez ignorer ces messages, sauf si vous espérez entrer dans le code pour ces DLL avec le débogueur (ce qui est douteux, car ce sont des DLL système). En d’autres termes, vous pouvez et devez les ignorer, car vous n’aurez pas les fichiers PDB pour ces DLL (au moins, par défaut, vous pourrez les obtenir lors du débogage via le serveur Microsoft Symbol ). Tout ce que cela signifie, c’est que lorsque vous définissez un point d’arrêt et que vous parcourez le code, vous ne pourrez pas entrer dans l’une de ces DLL (ce que vous ne voudriez pas faire de toute façon).

Pour être complet, voici la description officielle de PDB de MSDN:

Un fichier de firebase database de programme (PDB) contient des informations sur le débogage et l’état du projet qui permettent la liaison incrémentielle d’une configuration de débogage de votre programme. Un fichier PDB est créé lorsque vous comstackz un programme C / C ++ avec / ZI ou / Zi

Aussi, pour référence future, si vous souhaitez avoir des fichiers PDB pour votre propre code, vous devrez créer votre projet avec les options / ZI ou / Zi activées (vous pouvez les définir via les propriétés du projet -> C / C ++ – -> Général, puis définissez le champ pour “Format des informations de débogage”). Sans rapport avec votre situation, mais j’ai pensé que cela pourrait être utile à l’avenir

Travailler avec VS 2013. Essayez les outils suivants -> Options -> Débogage -> Fenêtre de sortie -> Messages de chargement de module -> Désactivé Cela désactivera l’affichage des modules chargés.

Si ce message vous dérange, vous devez exécuter Visual Studio avec des droits d’administration pour appliquer cette direction à Visual Studio.

Outils-> Options-> Débogage-> Symboles et sélectionnez cocher une case “Serveurs Microsoft Symbol”, cochez Charger tous les modules puis cliquez sur Charger tous les symboles.

Tout le rest de Visual Studio le fera pour vous, et vous aurez ce message sous Debug dans la fenêtre de sortie “Native” est sorti avec le code 0 (0x0) ”

  1. Vérifiez si le paramètre Générer les informations de débogage est défini sur Oui sous Propriétés du projet> Propriétés de configuration> Editeur de liens> Onglet Débogage. Sinon, essayez de le changer pour Oui.

  2. Ces fichiers pdb spécifiques (pour ntdll.dll, mscoree.dll, kernel32.dll, etc.) sont destinés à l’API Windows et ne devraient pas être nécessaires pour des applications simples. Toutefois, si vous ne trouvez pas les fichiers pdb pour vos propres projets compilés, je suggère de vous assurer que Propriétés du projet> Propriétés de configuration> Débogage> Répertoire de travail utilise la valeur de Propriétés du projet> Propriétés de configuration> Général> Répertoire de sortie.

  3. Vous devez exécuter Visual c ++ en mode “Exécuter en tant qu’administrateur”. Cliquez avec le bouton droit sur l’exécutable et cliquez sur “Exécuter en tant qu’administrateur”

Je suis aussi un débutant chez CUDA / Visual studio et j’ai rencontré le même problème avec quelques échantillons. Si vous exécutez DEBUG-> Démarrer le débogage, puis passez plusieurs fois sur (F10), la fenêtre de sortie apparaîtra et sera remplie. L’exécution normale renvoie l’état d’achèvement nominatif 0x0 (comme vous l’avez observé) et la fenêtre de sortie est fermée.

Si cela se produit dans Visual Studio, nettoyez votre projet et lancez-le à nouveau.

Build -> Clean Solution

Exécuter (ou F5)