我想使用调试符号,但是收到以下错误:
在此文件夹中找不到匹配的符号文件
这是什么问题,如何解决?
我想使用调试符号,但是收到以下错误:
在此文件夹中找不到匹配的符号文件
这是什么问题,如何解决?
Answers:
我碰到的一件事是因为在引用代码的项目所在的地方关闭了调试功能。就我而言,我做了一个名为“ Developer”的新配置,默认情况下调试已关闭。
pdb
文件时,得到那个臭名昭著的错误。
我遇到了这个问题,答案很简单。
Visual Studio有两个可以创建.pdb文件的项目级别设置。
您要调试#1。忘记#2。为文件#2提供与文件#1不同的名称以解决此错误。
我不知道为什么Microsoft将#2指定为.pdb文件。这只是令人困惑。
我尝试了所有可能的解决方案,最后,当我禁用的Enable native code debugging
下的选项时,它终于起作用Debugger engines
了Properties > Debug
。
如果没有关于您正在执行的操作的更多详细信息,那么很难超越“调试器正在寻找与编译后的代码匹配的符号文件,而在编译后的代码所在的文件夹中找不到该文件。”
需要考虑的一些事情:
如果您想要一个更好的答案,请考虑澄清您的问题。尤其是您所说的“我要使用符号”是什么意思。
我已经修复了调试符号,使用此工具强制它们匹配:
因此,我的问题是我正在尝试调试我的项目,而调试器无法进入内部nugets源。我有nuget项目的源文件。视觉工作室仍然不接受我试图显示的pdb文件。显示完全相同的错误:
在此文件夹中找不到匹配的符号文件
因此,我所做的是将其添加到nugets项目的.proj文件中:
<DebugType>full</DebugType>
并使用rebuild选项再次创建了dll和pdb文件。在命令行中,我运行了:
.\ChkMatch.exe -m name_of_your.dll name_of_your.pdb
它说:
写入调试信息文件...结果:成功。
巨大的成功!因此,接下来,我将这个dll引用到我尝试调试的项目中。我尝试再次加载符号时工作。
希望能帮助到你。
因为项目的.pdb文件尚未复制到debug\Bin
文件夹,所以无法从.pdb文件加载符号,这对我来说也是一样。
您必须重建项目并手动将符号(.pdb文件)复制到debug\Bin
可执行项目的文件夹中。
netcoreapp2.0
为后net4.7
,调试不再起作用。但是,更改...->高级->输出->调试信息:从portable
进行full
修复。谢谢!