【发布时间】:2016-05-23 12:57:05
【问题描述】:
我正在尝试从运行 64 位软件的客户那里调试崩溃/小型转储。即使我从符号设置中的“Microsoft 符号服务器”下载,mfc140u.dll 的符号也没有加载。查看符号缓存,mfc140u.i386 的 PDB 可用。
有没有办法确认这些符号可从该服务器获得?是否有说明可以从我需要找到的其他地方获取它们?
在 C:\Windows\System32 中,mfc140u.dll 的版本为 14.0.23918.0。转储文件正在寻找版本 14.00.23506.0。
这些 DLL 的符号也未加载:
- msvcp140.dll(寻找 14.00.23506.0)
- VCRUNTIME140.dll(寻找 14.00.23506.0)
【问题讨论】:
-
我得到 mfc140u.i386.pdb\1D0938D1EB0C400E8301075B3E4756C82\mfc140u.i386.pdb 就好了。在 Debug > Windows > Modules 窗口中右键单击 mfx140u.dll,然后选择 Symbol Load Information 以正确记录您的问题。
-
汉斯,它只是在信息下说:“没有找到匹配的二进制文件。” i386 PDB 不是我们用来调试 32 位 MFC DLL 的吗?
-
我不知道您是在谈论子目录还是实际文件,它们具有相同的名称。从符号缓存中删除您看到的那些,以便“符号加载信息”对话框告诉您整个故事,包括它尝试从符号服务器下载文件的尝试。
-
您使用哪个版本的 mfc140u.dll?我有一个 PDB:\mfc140u.amd64.pdb\AEE1E25C505146A789824BAF147713DC17\mfc140u.amd64.pdb
-
@magicandre1981 它需要 14.00.23506.0。你的是什么版本的?
标签: visual-c++ visual-studio-2015 pdb-files symbol-server