在此文件夹中找不到匹配的符号文件

67 c# debugging visual-studio

我想要使​​用符号,但我收到此错误:

在此文件夹中找不到匹配的符号文件

问题出在哪儿?

Kev*_*ung 34

我遇到的一件事是因为在代码所在的项目中调试已关闭.在我的例子中,我创建了一个名为"Developer"的新配置,默认情况下调试已关闭.

  1. 右键单击有问题的项目
  2. 属性
  3. 建立
  4. 高级(右下角)
  5. 将调试信息设置为完整
  6. 重新编译

  • 对于一个dotnet核心2.0控制台应用程序,在我将其'目标框架从`netcoreapp2.0`更改为`net4.7`后,调试不再有效.但是,将_...-> Advanced - > Output - > Debug Information:_从`portable`改为`full`修复它.谢谢! (4认同)

Imp*_*ome 8

我得到的错误是“调试 => 模块”窗口中的“在此文件夹中找不到匹配的符号文件”,即使 DLL 和 PDB 都可用并一起构建,所以我无法调试到我的引用的目标 DLL主要项目。

在这里发布它,以防它帮助某人浏览目标 DLL 的“混合平台”构建。我做了两件事来解决这个问题:

  1. 在使用目标 DLL 的解决方案中,在 Tools => Options => Debugging => General => Enable Just My Code (JMC) 中取消选中“Just My Code”。

  2. 在相关项目属性 => 调试中的目标 DLL 解决方案中选中“启用本机代码调试”。


Jef*_*sol 7

我和@DmainEvent有同样的问题.显然我使用的dll与我刚刚编译的pdb版本不同,所以我收到了错误消息.

如果遇到此问题,请尝试使用同一编译运行中的dll和pdb.


C J*_*son 5

我遇到了这个问题,答案很简单。

Visual Studio有两个可以创建.pdb文件的项目级别设置。

  1. 链接器:配置属性->链接器->调试->生成程序数据库文件=“ xxxx.pdb”
  2. 编译器:配置属性-> C / C ++->输出文件->程序数据库文件名=“ yyyy.pdb”

您想调试#1。忘记#2。为文件#2提供与文件#1不同的名称,以解决此错误。

我不知道为什么Microsoft将#2指定为.pdb文件。这只是令人困惑。

  • 该问题被标记为[tag:c#],因此这些设置不适用 (18认同)
  • 就我而言,这些设置仅在主应用程序是托管代码并且尝试调试由包装程序执行的本机代码时才相关。当我直接通过本机c ++测试器应用程序调试本机c ++时,尽管pdb文件被覆盖,它还是以某种方式神奇地获取了调试信息。因此,这些设置确实适用,并帮助我解决了问题。 (4认同)

Din*_*amy 5

我尝试了所有可能的解决方案,最后它在我禁用了Enable native code debugging下的选项时起作用Debugger enginesProperties > Debug.


Mas*_*sif 0

如果没有关于您正在做什么的更多详细信息,则很难超越“调试器正在寻找与已编译代码匹配的符号文件,但在已编译代码所在的文件夹中找不到该符号文件”。

需要考虑的一些事情:

  1. 您是否在编译过程中创建符号?(检查项目属性)
  2. 您是否使用符号服务器(如果是,它是否指向正确的位置)
  3. 这是第三方编译的代码吗?在这种情况下,由于您显然拥有源代码,因此请自行编译。

如果您想要更好的答案,请考虑澄清您的问题。特别是“我想使用符号”是什么意思。

  • 我不断收到错误消息,告诉我在此文件夹中找不到符号文件...当我用自己的两只眼睛看到在同名文件夹中找到符号文件(pdb)文件时。这告诉我这些文件不一样。但是当我刚刚编译这个东西并得到一个全新的 pdb 文件时怎么可能呢?顺便说一句,这是在 bin 文件夹中。 (64认同)