一尘不染

我该如何解决“断点当前不会被击中。该文档尚未加载任何符号。” 警告?

c#

速成版上的C#桌面应用程序正常工作,然后5秒钟后不工作。

我尝试了以下方法:

  • 确保在所有程序集上都设置了调试配置,调试标志和完整的调试信息。
  • 从我的整个计算机上删除所有与项目相关的bin和obj文件夹以及所有DLL。
  • 重新创建引起问题的项目。
  • 重启。

我在解决方案中有两个WinForms项目。其中一个加载调试信息,一个不加载。它们都引用我正试图以相同方式在项目文件中获取调试信息的程序集。有任何想法吗?


我想在这里添加,主要是为我自己添加,当我再次回顾此问题时,符号将在加载程序集之前加载,并且在需要时才加载。如果断点位于仅在主程序集中的一个函数中使用的库中,则在调用该函数之前,不会加载符号(并且将断点显示为未命中)。


阅读 243

收藏
2020-05-19

共1个答案

一尘不染

到达断点或使用后Debug > Break All,立即开始调试Debug > Windows > Modules。您将看到加载到流程中的所有程序集的列表。找到您要获取调试信息的那个。右键单击它,然后选择“符号加载信息”。您将看到一个对话框,列出所有在其中查找程序集的.pdb文件的目录。对照实际的.pdb位置验证该列表。确保没有找到旧的。

在普通项目中,程序集及其.pdb文件应始终由IDE复制到与.exe相同的文件夹中。项目的bin \
Debug文件夹。如果您一直在使用它,请确保从GAC中删除一个。

2020-05-19