Click here to Skip to main content
15,041,548 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
C#
I have written a program in Visual studio 2015 and during debugging, several comments like below came on output window.
'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'C:\Windows\System32\advapi32.dll'. Cannot find or open the PDB file. 

But in the debug folder this pdb file exists.I don't know why it is showing like this. Please help
Posted

PDB files are additional files containing symbols of modules to be used during debugging. They are generated for your sources during the debug build process. But there might be no such files for external modules like system DLLs.

The messages you see in the debug output window are just informational and can be ignored.

If you really want these symbol files, see "Microsoft public symbol servers" at Specify Symbol (.pdb) and Source Files in the Visual Studio Debugger[^].
   
hi,
probably the debugger might not have access to c:\windows directory.
Maybe running the IDE as admin might help.

Also, for the Microsoft dlls (like msvcr dlls), you might need to connect to the Microsft Symbol server. Read more about it here : Debugging with Symbols (Windows)[^]
and
Using a Symbol Server - Windows 10 hardware dev[^]

So basically the system needs to know a location where it can download the symbols from the MS server as and when needed (like symbol would be downloaded on need basis, not just for all dlls.) and the debugger needs to know this location so that while debugging, it can pick up the symbols for MS dlls. this is how i remember it used to be . hope its same still :).

google out more for how to use symbol server.
   

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900