0

断点未命中且无法找到或打开 PDB

我的断点没有在已知的好类中命中。我知道班级正在工作,因为数据正在流经。他们昨天工作。我还尝试了一个我几周没有接触过的课程(另一个已知的好),断点在那里也不起作用。我有: - 验证我正在调试模式下构建 - 在我的解决方案 > 属性配置属性 > 配置中,我验证每个项目都设置为调试和构建 - 转到工具 > 选项 > 调试并禁用“仅启用我的代码” - 清理并重建解决方案 - 重新启动 Visual Studio - 重新启动我的计算机

我在调试中打开了模块窗口。我的许多模块显示“无法找到或打开 PDB 文件”。许多显示“已加载符号”(这很好。)对于没有匹配 PDB 的文件,我右键单击并转到从 > 符号路径加载符号。当然,符号路径中没有 PDB。当我右键单击并转到从 > Microsoft 符号服务器加载符号时,我什么也得不到。我已经搜索了驱动器的根目录以查找这些特定的 PDB。

以下是受影响 DLL 的示例: Microsoft.CSharp.dll System.EnterpriseServices.dll System.Runtime.Serialization.dll System.Web.WebPages.Deployment.dll System.Web.ApplicationServices.dll

根据我在网上找到的信息,PDB 问题已经解决,但如果我可以在没有 PDB 的情况下达到断点,那么我很高兴。

我签出:Visual Studio 2010“找不到或打开 PDB 文件”,不高兴。

我真的很想达到我的断点。

谢谢!

4

3 回答 3

1

好吧,这太尴尬了……我想单步执行我的 Web 服务,但要这样做,我需要从我的客户端应用程序发送信息。我的客户端应用程序指向错误的服务器。真可惜。

于 2013-07-03T16:16:11.757 回答
1

PDB 文件应与其他文件一起位于 bin 目录中。它们是在您编译项目时创建的。如果它们不存在,即使在调试模式下,您也可能已将它们关闭。对于 Vb,查看 MyProject->Compile->Advanced Compiler Options 并确保 Generate debug info 设置为 Full。不确定 C# 中的模拟是什么。

同样对于一个 Web 项目,当我有一个发布版本在与我的调试版本相同的应用程序池中运行时,我遇到了这个问题。如果是这种情况,请尝试使用专用的应用程序池进行调试。

于 2013-07-03T02:00:35.917 回答
0

.Net Reflector 可以为项目中引用的大多数程序集生成 PDB 文件。我发现它非常有帮助。

http://www.red-gate.com/products/dotnet-development/reflector/

安装后,在 Visual Studio 中:查看 > .NET Reflector 对象浏览器 > 右键单击​​程序集并“启用调试”

于 2013-10-08T14:51:07.773 回答