我在 Visual Studio 2012 中有一个大型解决方案,其中包含可执行文件和类库项目。调试应用程序时,不会命中某个特定类库项目中的断点。
我查看了Debug> Windows> Modules窗口来检查该项目的符号状态,它显示“无法找到或打开 PDB 文件”。
它还在“用户代码”列下显示“否” 。
我注意到解决方案中的其他一些自定义项目在该列中显示“否”,并且它们的符号也无法加载。“用户代码”下带有“是”的任何内容似乎都已加载它的 pdb 没有问题。但我不确定这是否相关。
我在 dll 上使用了dumpbin /headers并且 pdb 文件的路径存在且正确。
该模块绝对不在符号加载的排除列表中。
我还尝试右键单击模块窗口中的条目,选择“加载符号”并导航到 dll 标头中给出的路径。当我选择 pdb 时,它显示“在此文件夹中找不到匹配的符号文件”。
在我删除这些文件夹和文件、清理解决方案、关闭它并重建整个东西后,我得到了这个。pdb 肯定是与所讨论的 dll 同时构建的。
很明显,问题出在错误消息的“无法打开 pdb”部分。
我已经在 2 台计算机上尝试过,并且两者都表现出相同的行为。
任何人都可以就从这里去哪里提供任何建议,也许为什么地球上对应于 dll 的内置 pdb 不会加载它?