我想使用符号,但我收到此错误:
在此文件夹中找不到匹配的符号文件
问题出在哪里?
答案 0 :(得分:28)
我遇到的一件事是因为在代码所在的项目中调试已关闭。在我的例子中,我创建了一个名为“Developer”的新配置,默认情况下调试已关闭。
答案 1 :(得分:6)
我和@DmainEvent有同样的问题。显然我使用的dll与我刚刚编译的pdb版本不同,所以我收到了错误消息。
如果您遇到此问题,请尝试使用同一编译运行中的dll和pdb。
答案 2 :(得分:5)
我尝试了所有可能的解决方案,最后当我在Enable native code debugging
的{{1}}下禁用选项Debugger engines
时,它才有效。
答案 3 :(得分:4)
我遇到了这个问题,答案很简单。
Visual Studio有两个可以创建.pdb文件的项目级别设置。
你想要#1进行调试。忘了#2。 为文件#2提供与文件#1不同的名称以解决此错误。
我不知道为什么microsoft将#2指定为.pdb文件。这只是令人困惑。
答案 4 :(得分:2)
如果没有关于你正在做什么的更多细节,那么很难超越“调试器正在寻找与编译代码匹配的符号文件,并且在编译代码所在的文件夹中找不到它。”
要考虑的一些事情:
如果您想要更好的答案,请考虑澄清您的问题。尤其是“我想要使用符号”是什么意思。
答案 5 :(得分:2)
我得到的错误是"在此文件夹中找不到匹配的符号文件"在Debug =>中模块窗口甚至在DLL和PDB都可用并一起构建之后,因此我无法调试到我的主项目引用的目标DLL。
在此处发布此内容,以防有人使用"混合平台"为目标DLL构建。我做了两件事来解决这个问题:
在使用目标DLL的解决方案中,取消选中" Just My Code"在工具=>选项=>调试=>一般=>启用我的代码(JMC)。
检查"启用本机代码调试"在相关Project Properties中的目标DLL解决方案=>调试。
答案 6 :(得分:1)
好吧,解决方案取决于您的特定问题。我尝试了在Stackoverflow和其他站点上可能找到的所有内容。我遵循的线程之一是this。那也没有帮助。 当我注意到我的可执行文件项目没有包含要调试的库的引用时,该问题立即得到解决。所以我只添加了对该项目的引用。
** PS:**可能还会出现此问题,因为可执行程序集引用的程序集可能与引用中的程序集不匹配。因此,在这种情况下,您只需删除现有参考并添加新参考即可。
希望这会有所帮助!
答案 7 :(得分:0)
我发现这是因为Properties => Debug => “开始操作”设置为“启动外部程序”而不是“项目”。所以新生成的pdb文件没有匹配,因为实际的exe是错误的。
答案 8 :(得分:0)
对于BizTalk(和其他)项目,可能是因为您已经尝试在GAC中调试的程序集版本。当您运行单元测试或按F5进行调试时,将在本地编译新版本。但是,正在使用GAC中的版本,并且新创建的PDB与GAC中的DLL不匹配。
解决此问题的一种方法是使用Configuration Manager取消选择除单元测试项目之外的所有内容的构建,如下所示:
答案 9 :(得分:0)
我也遇到同样的情况,因为该项目的.pdb文件尚未复制到debug\Bin
文件夹中,因此无法从.pdb文件中加载符号。
您必须重建项目,然后将符号(.pdb文件)手动复制到可执行项目的debug\Bin
文件夹中。
答案 10 :(得分:0)
我已修复调试符号,使用此工具强制它们匹配:
所以,我的问题是我正在尝试调试我的项目,而调试器无法进入内部nugets源。我有nuget项目的源文件。视觉工作室仍然不接受我试图向其展示的pdb文件。 显示完全相同的错误:
在此文件夹中找不到匹配的符号文件
所以,我所做的就是将其添加到nugets项目的.proj文件中:
<DebugType>full</DebugType>
然后使用rebuild选项再次创建dll和pdb文件。 在命令行中,我运行了:
.\ChkMatch.exe -m name_of_your.dll name_of_your.pdb
它是这样说的:
正在写入调试信息文件... 结果:成功。
成功! 因此,接下来,我将这个dll引用到我尝试调试的项目中。尝试再次加载符号时,我工作了。
希望有帮助。
答案 11 :(得分:0)
我正在尝试为在本地开发服务器上发布的已安装nuget软件包加载符号。我必须卸载并添加从代码构建的常规参考。这对我有用。只要记得调试完成后再次安装原始的nuget软件包即可。
答案 12 :(得分:-2)
我最近也遇到过这个问题。 能够通过选择MyProject-&gt; Properties-&gt; Linker-&gt; Debugging-&gt; Generate Debug Info-&gt;&#34; Optimize for debugging(/ DEBUG)&#34;来修复它。