I have a C project in VS 2013 which I would like to debug. I configured VS already that it loads the symbols for system DLLs automatically. That does work, execept for the msctf.dll:
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winspool.drv'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
'Programm_NT.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file.
The program '[2216] Programm_NT.exe' has exited with code 1 (0x1).
I tried to exclude this specifiy DLL from symbol loading with all the methods I could find in the WWW (in options, with symsrv.ini, registry hack, etc.), but VS doesn't care and always wants to load the pdb.
So, question is, why this pdb for msctf.dll cannot be loaded from MS symbol server?
Create a dump file of your application (Taskmgr or ProcessExplorer) and open it in Windbg (Part of the Windows SDK->Debugging Tools). Now open the dmp, configure the debug symbols and run
!sym noisy
to configure Windbg to display verbose data. Now run.reload /f /v msctf.dll;lmvm msctf
to load the symbol and look for the output.