我在VS 2013中有一个C项目,我想调试。我已经配置VS它自动加载系统DLL的符号。这确实有效,除了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).
我尝试使用我在WWW中找到的所有方法(在选项中,使用symsrv.ini,注册表黑客等)从符号加载中排除此特定DLL,但是VS并不关心并且总是想要加载pdb。
所以,问题是,为什么无法从MS符号服务器加载msctf.dll的pdb?
答案 0 :(得分:0)
Create a dump file您的应用程序(Taskmgr或ProcessExplorer)并在Windbg(Windows SDK - >调试工具的一部分)中打开它。现在打开dmp configure the debug symbols并运行!sym noisy
以配置Windbg以显示详细数据。现在运行.reload /f /v msctf.dll;lmvm msctf
加载符号并查找输出。