Loading pdb for msctf.dll from symbol server doesn't work

410 views Asked by At

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?

1

There are 1 answers

0
magicandre1981 On

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.