【发布时间】:2017-02-05 07:02:52
【问题描述】:
Visual Studio 加载了正确的 PDB 文件,但在解决方案中找不到任何内容的源信息。
我尝试过的事情:
- 清理、重启、重新生成项目 (CMake)、重建
- 检查“模块”窗口以确保已加载 PDB(已加载)
- 解决方案属性下的“调试源文件”设置混乱
- 用 symchk 检查 PDB 文件(它说 PDB 与 EXE 匹配,并且它具有完整的符号信息,即它没有被剥离)
- 从 Microsoft 下载系统库符号,因为为什么不这样做
是否有一些设置会生成没有源信息的 PDB?或者它可能会将坏路径烘焙到 PDB 中?我尝试通过 PDB 进行 grepping,虽然它似乎包含所有符号,但我找不到任何源文件路径。
更多信息:这是一个 64 位 C++ 项目。一切都是静态链接的,包括运行时。
【问题讨论】:
-
如果无法自行找到源文件,调试器会询问您的位置。下意识是点击取消,就不会再问了。在解决方案资源管理器窗口中右键单击解决方案 > 属性 > 调试源文件。清空“请勿查看”框,在其上方的列表中添加路径。
-
@HansPassant 这很奇怪,我从来没有得到手动定位源文件的选项。这里:i.imgur.com/jgOL8wE.png
-
将源文件夹添加到“调试源文件”属性似乎没有效果。
-
@etodd,你能在本地机器上获取源文件吗?可能确实没有源文件供参考或其他:msdn.microsoft.com/en-us/library/3sehk0fb.aspx,请取消勾选工具 -> 选项 -> 调试 -> 常规下的“要求源文件与原始版本完全匹配”选项。再次调试。
-
@JackZhai 是的,也试过那个复选框。没有效果。所有源文件都在本地计算机上的解决方案中。有一个库我既没有源代码也没有 PDB,但以前从未引起过问题。
标签: visual-studio debugging pdb-files