我想要使用符号,但我收到此错误:
在此文件夹中找不到匹配的符号文件
问题出在哪儿?
我在Visual Studio 2012中有一个大型解决方案,它包含可执行文件和类库项目.在调试应用程序时,一个特定类库项目中的断点未被命中.
我查看了Debug> Windows> Modules窗口,检查该项目符号的状态,并显示"无法找到或打开PDB文件".
它还在"用户代码"列下显示"否".
我注意到解决方案中还有一些自定义项目在该列中显示"否",并且它们的符号也无法加载."用户代码"下面带有"是"的任何内容似乎已经将pdb加载没有问题.但我不确定这是否相关.
我在dll上使用了dumpbin/headers,并且pdb文件的路径是正确的.
该模块绝对不在符号加载的排除列表中.
我还尝试右键单击模块窗口中的条目,选择"加载符号"并导航到dll标题中给出的路径.当我选择pdb时,它说"在此文件夹中找不到匹配的符号文件".
在删除这些文件夹和文件,清理解决方案,关闭它并重建整个文件后,我得到了这个.pdb肯定与有问题的dll同时构建.
所以很明显问题是"无法打开pdb"部分的错误消息.
我在2台计算机上试过这个,两者都表现出相同的行为.
任何人都可以提供任何建议,从这里去哪里,也许为什么在地球上对应的dll的内置pdb将不会加载它?
加载此模块时,调试点未启用.所以我想到从"Debug/obj"文件夹手动加载它的调试符号.pdb文件.
在这种情况下,我收到以下错误"虽然该文件夹包含当前的生成文件,但在此文件夹中找不到"匹配的符号"文件.
而且"符号加载信息"也包含这些目录路径.
Cannot find or open the PDB file.
PDB does not match
Run Code Online (Sandbox Code Playgroud)
截图: