5

我正在使用最近升级的 Visual Studio 2010。该解决方案包含 25 个项目,制作了十几个 dll 和 exe。我正在尝试调试特定问题,但由于未加载符号而无法调试。

我得到“无法找到或打开 PDB 文件”,这是项目生成的 DLL 之一的 PDB 文件,所有其他 PDB 文件加载都很好。PDB 文件与 dll 存在于同一目录中,我还清理并重建了解决方案。

此外,我对 pdb 名称运行了进程资源管理器过滤,这表明它已被找到、打开并成功读取。奇怪的是,它还继续在其他位置寻找 pdb。

有人对此有任何想法吗?

4

3 回答 3

2

在大多数情况下,Visual Studio 的文件句柄存在问题。Visual Studio 将 PDB 视为一个进程正在使用,但该进程是 Visual Studio(我知道,有点愚蠢)。

尝试重新启动机器并在构建之前手动删除 PDB 文件。这通常对我有用。

于 2011-09-21T19:27:17.080 回答
0

在 Debug -> Options and Settings -> Debugging -> Symbols 中打开 Microsoft Symbols Server

在此处输入图像描述

于 2012-11-01T03:23:23.013 回答
0

您是否有多个项目或构建输出相同的 PDB 文件?我有一个可以编译为 EXE 或 DLL 的项目。当然,默认情况下,他们会覆盖彼此的 PDB 文件。所以 VS 会检测到 PDB 不匹配。

当我迁移到 VS2010 时,我通过将所有项目和配置的目标名称设置为“$(ProjectName)_$(Configuration)”解决了这个问题。

于 2012-02-08T23:33:05.467 回答