Reputation: 1
I'm just starting out and my first time trying to run "hello world" gave me this.
'Project2.exe' (Win32): Loaded 'C:\Users\Dustin\Documents\Visual Studio 2013\Projects\Project2\Debug\Project2.exe'. Symbols loaded.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Program Files\Bitdefender\Bitdefender\active virus control\Avc3_00261_012\avcuf32.dll'. Cannot find or open the PDB file.
'Project2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120d.dll'. Cannot find or open the PDB file.
The program '[3140] Project2.exe' has exited with code 0 (0x0).
Can anyone help me figure our where these pdb files are and how to fix this?
Thank you.
Upvotes: 0
Views: 13197
Reputation: 1248
*.pdb files are generated for debugging purposes when a DLL library module is built. They contain the symbols and offsets for the various binary elements within the DLL.
When you start a debugging session, the IDE will attempt to find the *.pdb file that is associated with every DLL that is loaded at runtime. If it cannot find the associated *.pdb file (with the same name. ex. kernel.dll & kernel.pdb) it will render the message above: "Cannot find or open the PDB file."
What this message implies is that you will not have any symbolic debugging ability for anything going on within that DLL. The DLL that is loaded will function normally and is not affected.
The pdb files for system libraries should be installed on your system or can be obtained from Microsoft. Other vendor's dll that are loaded for whatever reason most likely will not come with the pdb files so you must simply ignore the warning.
The pdb file for something you are working on will be automatically generated by default.
If you go to the VisualStudio menu TOOLS:Debugging:Symbols there is a dialogue box for managing the PDB file locations and such.
Upvotes: 2
Reputation: 111
Do the following:
go to debug -> options -> symbols -> set microsoft symbol server on
That should work finely for you..
Feel free to ask me if you still have a questions.
Upvotes: 0
Reputation: 32936
Looking at the results, the pdbs that are not loaded are systems dlls, which you don't really need to debug through I don't think. Your programs pdb got loaded fine:
'Project2.exe' (Win32): Loaded 'C:\Users\Dustin\Documents\Visual Studio 2013\Projects\Project2\Debug\Project2.exe'. Symbols loaded.
There is nothing wrong with the other files not having pdbs loaded I don't think. It is normal to not have symbols loaded for system files
If you think this is not the case then perhaps you can indicate which files in the list above you expect to be able to load the pdbs for? And also what the issue that their not being loaded is causing.
Upvotes: 0
Reputation: 2163
Can you check if generating debug information is in place? Go to Project properties (right click then properties) > Configuration Properties > Linker > Debugging. Generate Debug Info should be YES and File should be $(OutDir)$(TargetName).pdb
.
Upvotes: 1