我正在使用最近升级的Visual Studio 2010。该解决方案包含25个项目,制作了十几个dll和exe。我试图调试一个特定的问题,我不能因为没有加载符号。
我得到“无法找到或打开PDB文件”,这是一个PDB文件项目生成的DLL之一,所有其他PDB文件加载就好了。 PDB文件与dll存在于同一目录中,我还清理并重建了解决方案。
此外,我已经对pdb名称运行了进程资源管理器过滤,这表明它已被找到,打开并成功读取。奇怪的是,它也继续在其他位置寻找pdb。
有人对此有任何想法吗?
答案 0 :(得分:2)
在大多数情况下,Visual Studio的文件句柄存在问题。 Visual Studio将PDB视为进程使用,但该进程是Visual Studio(我知道,有点愚蠢)。
尝试重新启动计算机并在构建之前手动删除PDB文件。这通常适合我。
答案 1 :(得分:0)
您是否获得了多个项目或构建输出相同的PDB文件?我有一个项目,我可以编译为EXE或DLL。当然,默认情况下,他们互相写过PDB文件。所以VS会发现PDB不匹配。
当我搬到VS2010时,我通过为所有项目和配置将目标名称设置为“$(ProjectName)_ $(配置)”来解决此问题。
答案 2 :(得分:0)
在调试中打开Microsoft符号服务器 - >选项和设置 - >调试 - >符号