Visual Studio 2008:.pdb文件不是由“构建解决方案”创建的

时间:2011-01-11 21:50:17

标签: visual-studio visual-studio-2008 debugging

我有一个包含许多C ++项目的Visual Studio 2008解决方案。当我选择Debug配置并单独构建每个项目时,我会在Debug目录中找到每个项目的.pdb文件。但是当我构建整个解决方案时,我却没有。输出文件显示在Debug目录中,但缺少.pdb文件。

有什么想法吗?

3 个答案:

答案 0 :(得分:8)

查看项目属性>编译 - 按高级编译选项然后打开新窗口,找到生成调试信息,您可以选择无,仅限pdb或完整 - 如果没有那么这就是您没有pdb的原因

答案 1 :(得分:5)

构建整个解决方案确实构建了各个项目(如果可能的话,并行构建)。正在构建的项目配置在Configuration Manager Dialog Box中指定。这也指定了项目是否完全构建,或者是否将从该解决方案配置中的构建中排除。

因此,如果您的PDB没有显示,请仔细检查您的项目是否正在构建(您似乎这样说,但只是为了确保删除所有中间和输出文件夹,并再次构建解决方案) 。还要检查为每个解决方案配置分配的项目配置。也许您的Debug解决方案配置实际引用了一些Release项目配置(或Debug_but_no_pdb)。

如果这仍然无效,请为构建过程启用详细输出:

  

工具>选项>项目和解决方案>构建并运行> MSBuild项目构建输出详细程度:诊断

另外,请仔细检查所有项目依赖关系是否存在无效引用。

答案 2 :(得分:0)

你的项目有很多关于你不在这里告诉我们的事情。但是,此引用可能会提供一些提示:

http://msdn.microsoft.com/en-us/library/ms241903.aspx

基于此,我注意到由于pdb用于增量链接,因此编译器可能认为它不需要它们,因为它在构建过程中进行最终链接。

此外,由于EXE路径是PDB所寻找的位置之一。 。 。他们是否有机会进入该目录呢?