Visual studio 2012 调试符号赢得';t加载slc.dll和sppc.dll

Visual studio 2012 调试符号赢得';t加载slc.dll和sppc.dll,visual-studio-2012,debug-symbols,pdb-files,Visual Studio 2012,Debug Symbols,Pdb Files,这是我的情况。我正在尝试调试远程服务器上的WCF服务(Windows 2012 R2标准)。我使用的是运行VisualStudio12的Windows7专业系统。在弄清楚如何安装远程调试器并连接到它之后,我收到了一个Symbols not loaded错误。在找到模块窗口后,我发现我只找到了93个PDB文件中的4个(我的项目PDB)。经过大量研究,我发现了选项菜单中的“符号”窗口,并确保设置了缓存符号目录,并且Microsoft符号服务器是我的位置之一。单击“加载所有符号”后,VS 2012加载

这是我的情况。我正在尝试调试远程服务器上的WCF服务(Windows 2012 R2标准)。我使用的是运行VisualStudio12的Windows7专业系统。在弄清楚如何安装远程调试器并连接到它之后,我收到了一个Symbols not loaded错误。在找到模块窗口后,我发现我只找到了93个PDB文件中的4个(我的项目PDB)。经过大量研究,我发现了选项菜单中的“符号”窗口,并确保设置了缓存符号目录,并且Microsoft符号服务器是我的位置之一。单击“加载所有符号”后,VS 2012加载了除两个文件以外的所有文件:sppc.pdb和slc.pdb

我运行过symchk/r并收到以下输出:

C:\Program Files\Debugging Tools for Windows (x64)>symchk *.* /r

SYMCHK: FAILED files = 0
SYMCHK: PASSED + IGNORED files = 221
另一个论坛上有人建议使用symchk命令尝试从Microsoft Symbol服务器专门加载PDB文件。因此,当我跑步时,我得到了以下信息:

SYMCHK: slc.dll              FAILED  - slc.pdb mismatched or not found
所以我检查了一下我是否正确使用了它。我运行了以下命令并将许多PDB下载到临时目录中,但不是我需要的:

C:\Program Files\Debugging Tools for Windows (x64)>symchk /r C:\windows\system32 /s srv*C:\Temp\Symbols*http://msdl.microsoft.com/download/symbols

*** Some output removed for brevity  ***

SYMCHK: slc.dll              FAILED  - slc.pdb mismatched or not found
SYMCHK: snacnp.dll           FAILED  - SnacNp.pdb mismatched or not found
SYMCHK: sppc.dll             FAILED  - sppc.pdb mismatched or not found
因此,我详细地对其中一个文件运行了syschk,看看这是否能告诉我什么:

C:\Program Files\Debugging Tools for Windows (x64)>symchk /v C:\windows\system32\slc.dll
[SYMCHK] Searching for symbols to C:\windows\system32\slc.dll in path C:\Temp\Symbols
DBGHELP: Symbol Search Path: C:\Temp\Symbols
[SYMCHK] Using search path "C:\Temp\Symbols"
DBGHELP: No header for C:\windows\system32\slc.dll.  Searching for image on disk

DBGHELP: C:\windows\system32\slc.dll - OK
SYMSRV:  C:\Temp\Symbols\slc.pdb\BEC5C21CFFE144E48E70042F52FF1D271\slc.pdb not found
DBGHELP: slc - no symbols loaded
[SYMCHK] MODULE64 Info ----------------------
[SYMCHK] Struct size: 1680 bytes
[SYMCHK] Base: 0x000007FF70190000
[SYMCHK] Image size: 45056 bytes
[SYMCHK] Date: 0x4a5be063
[SYMCHK] Checksum: 0x00011b30
[SYMCHK] NumSyms: 0
[SYMCHK] SymType: SymNone
[SYMCHK] ModName: slc
[SYMCHK] ImageName: C:\windows\system32\slc.dll
[SYMCHK] LoadedImage: C:\windows\system32\slc.dll
[SYMCHK] PDB: ""
[SYMCHK] CV: RSDS
[SYMCHK] CV DWORD: 0x53445352
[SYMCHK] CV Data:  slc.pdb
[SYMCHK] PDB Sig:  0
[SYMCHK] PDB7 Sig: {00000000-0000-0000-0000-000000000000}
[SYMCHK] Age: 0
[SYMCHK] PDB Matched:  TRUE
[SYMCHK] DBG Matched:  TRUE
[SYMCHK] Line nubmers: FALSE
[SYMCHK] Global syms:  FALSE
[SYMCHK] Type Info:    FALSE
[SYMCHK] ------------------------------------
SymbolCheckVersion  0x00000002
Result              0x00010001
DbgFilename         slc.dbg 
DbgTimeDateStamp    0x00000000
DbgSizeOfImage      0x00000000
DbgChecksum         0x00000000
PdbFilename         slc.pdb
PdbSignature        {BEC5C21C-FFE1-44E4-8E70-042F52FF1D27}
PdbDbiAge           0x00000001
[SYMCHK] [ 0x00000000 - 0x00010001 ] Checked "C:\windows\system32\slc.dll"
SYMCHK: slc.dll              FAILED  - slc.pdb mismatched or not found

SYMCHK: FAILED files = 1
SYMCHK: PASSED + IGNORED files = 0
我知道这些文件是软件授权客户端的一部分,虽然我不知道需要加载它们进行调试的原因,但事实是VS需要它


有人知道我如何获取PDB或抑制加载符号文件的需要吗?

Microsoft没有为SLC提供PDB,以防止创建裂缝来激活Windows

运行VS2012,转到
选项
->
调试
->
自动加载符号:“所有符号,除非排除”
。单击蓝色链接并将SLC添加到排除列表中


现在VS跳过加载PDB。

感谢您的回复。我尝试了您的步骤,所有文件的状态都是“已加载符号”或“已通过包含/排除禁用加载”。但是,断点仍然不会加载,因为“没有为此文档加载任何符号发布一些错误图片。可能您混合了发布/调试配置