wake-up-neo.com

Fehlermeldung: Kann die PDB-Datei nicht finden oder öffnen

Ich habe versucht, Beispielprogramme auszuführen, die auf der offiziellen NVIDIA-Website bereitgestellt wurden. Die meisten Programme liefen reibungslos, bis auf wenige, bei denen ich ähnliche Fehlermeldungen erhalte. Wie kann ich das beheben? Hier ist ein Beispiel einer Fehlermeldung, die ich nach dem Ausführen eines Programms namens "MatrixMul" erhalten habe.

Hinweis: Ich habe sowohl x32 als auch x64 NVIDIA CUDA Toolkit v5.0 auf meinem Windows7x64-Betriebssystem installiert.

'matrixMul.exe': Loaded 'C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin\win32\Debug\matrixMul.exe', Symbols loaded.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'matrixMul.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.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\apphelp.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\AppPatch\AcLayers.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\Shell32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\userenv.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\profapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\winspool.drv', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\mpr.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvinit.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvcuda.dll', Binary was not built with debug information.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Unloaded 'C:\Windows\SysWOW64\dwmapi.dll'
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\crypt32.dll', Cannot find or open the PDB file
'matrixMul.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] matrixMul.exe: Native' has exited with code 0 (0x0)
65
KNU

Die PDB-Datei ist eine Visual Studio-spezifische Datei, die die Debugsymbole für Ihr Projekt enthält. Sie können diese Meldungen ignorieren, es sei denn, Sie möchten mit dem Debugger in den Code für diese DLLs einsteigen (was zweifelhaft ist, da es sich um System-DLLs handelt). Mit anderen Worten, Sie können und sollten sie ignorieren, da Sie nicht über die PDB-Dateien für diese DLLs verfügen (zumindest standardmäßig können Sie diese beim Debuggen über Microsoft Symbol Server) beziehen ). Alles was es bedeutet ist, dass wenn Sie einen Haltepunkt setzen und durch den Code gehen, Sie nicht in der Lage sind, in eine dieser DLLs zu gelangen (was Sie sowieso nicht tun möchten).

Der Vollständigkeit halber hier die offizielle PDB-Beschreibung von MSDN:

Eine Programmdatenbankdatei (PDB-Datei) enthält Debugging- und Projektstatusinformationen, die eine inkrementelle Verknüpfung einer Debug-Konfiguration Ihres Programms ermöglichen. Eine PDB-Datei wird erstellt, wenn Sie ein C/C++ - Programm mit/ZI oder/Zi kompilieren

Wenn Sie in Zukunft PDB-Dateien für Ihren eigenen Code benötigen, müssten Sie Ihr Projekt auch mit aktivierten Optionen/ZI oder/Zi erstellen (Sie können sie über die Projekteigenschaften festlegen -> C/C++ - -> Allgemein, dann setzen Sie das Feld für "Debug Information Format"). Nicht relevant für Ihre Situation, aber ich dachte, es könnte in Zukunft nützlich sein

112
alrikai

Arbeiten mit VS 2013. Probieren Sie die folgenden Tools aus -> Optionen -> Debuggen -> Ausgabefenster -> Meldungen zum Laden von Modulen -> Aus Die Anzeige der geladenen Module wird deaktiviert.

35
Mike22LFC

Wenn Sie diese Nachricht stört, müssen Sie Visual Studio mit Administratorrechten ausführen, um diese Anweisung auf Visual Studio anzuwenden.

Extras-> Optionen-> Debuggen-> Symbole und aktivieren Sie das Kontrollkästchen "Microsoft Symbol Server", markieren Sie "Alle Module laden" und klicken Sie auf "Alle Symbole laden".

Alles andere erledigt Visual Studio für Sie. Diese Meldung wird unter Debuggen im Ausgabefenster angezeigt. "Native" wurde mit Code 0 (0x0) beendet. "

19
Nikola Popov
  1. Überprüfen Sie, ob die Einstellung Debug-Informationen generieren auf Ja gesetzt ist. Klicken Sie dazu auf die Registerkarte Projekteigenschaften> Konfigurationseigenschaften> Linker> Debuggen. Wenn nicht, versuchen Sie es in Ja zu ändern.

  2. Diese speziellen pdb-Dateien (für ntdll.dll, mscoree.dll, kernel32.dll usw.) sind für die Windows-API bestimmt und sollten für einfache Apps nicht benötigt werden. Wenn Sie jedoch keine PDBs für Ihre eigenen kompilierten Projekte finden können, sollten Sie sicherstellen, dass unter Projekteigenschaften> Konfigurationseigenschaften> Debuggen> Arbeitsverzeichnis der Wert aus Projekteigenschaften> Konfigurationseigenschaften> Allgemein> Ausgabeverzeichnis verwendet wird.

  3. Sie müssen Visual c ++ im Modus "Als Administrator ausführen" ausführen. Klicken Sie mit der rechten Maustaste auf die ausführbare Datei, und klicken Sie auf "Als Administrator ausführen".

6
Rajan chawla

Ich bin auch ein Neuling in CUDA/Visual Studio und habe das gleiche Problem mit ein paar Samples. Wenn Sie DEBUG-> Start Debugging ausführen und mehrmals die Taste (F10) drücken, wird das Ausgabefenster angezeigt und gefüllt. Die normale Ausführung gibt den nominalen Abschlussstatus 0x0 zurück (wie Sie beobachtet haben) und das Ausgabefenster wird geschlossen.

3
PaulH

Wenn dies in Visual Studio passiert, bereinigen Sie Ihr Projekt und führen Sie es erneut aus.

Build -> Clean Solution

Ausführen (oder F5)

0
vs2015