Visual studio Visual Studio 2008:“生成解决方案”未创建pdb文件 我有一个VisualStudio 2008解决方案,包含了一些C++项目。当我选择调试配置并单独构建每个项目时,我会在调试目录中找到每个项目的.pdb文件。但当我构建整个解决方案时,我不会。输出文件显示在调试目录中,但缺少.pdb文件

Visual studio Visual Studio 2008:“生成解决方案”未创建pdb文件 我有一个VisualStudio 2008解决方案,包含了一些C++项目。当我选择调试配置并单独构建每个项目时,我会在调试目录中找到每个项目的.pdb文件。但当我构建整个解决方案时,我不会。输出文件显示在调试目录中,但缺少.pdb文件,visual-studio,visual-studio-2008,debugging,Visual Studio,Visual Studio 2008,Debugging,有什么想法吗?关于你的项目,这里有很多你没有告诉我们的。但是,此参考可能会提供一些提示: 基于此,我注意到,由于pdb用于增量链接,可能编译器觉得它不需要它们,因为它正在作为构建的一部分进行最终链接 此外,由于EXE路径是查找PDB的位置之一。如果可能的话,构建整个解决方案确实会并行构建各个项目。正在生成的项目配置在中指定。这还指定是否已生成项目,或者是否将其从该解决方案配置中的生成中排除 因此,如果您的PDB没有显示,请仔细检查您的项目是否正在生成(您似乎这么说),但为了确保,请删除所有中间文

有什么想法吗?

关于你的项目,这里有很多你没有告诉我们的。但是,此参考可能会提供一些提示:

基于此,我注意到,由于pdb用于增量链接,可能编译器觉得它不需要它们,因为它正在作为构建的一部分进行最终链接


此外,由于EXE路径是查找PDB的位置之一。如果可能的话,构建整个解决方案确实会并行构建各个项目。正在生成的项目配置在中指定。这还指定是否已生成项目,或者是否将其从该解决方案配置中的生成中排除

因此,如果您的PDB没有显示,请仔细检查您的项目是否正在生成(您似乎这么说),但为了确保,请删除所有中间文件夹和输出文件夹,然后再次生成解决方案。还要检查为每个解决方案配置分配的项目配置。也许您的调试解决方案配置实际上引用了一些发布项目配置或调试,但没有pdb

如果这仍然没有帮助,请为生成过程启用详细输出:

工具>选项>项目和解决方案>生成和运行>MSBuild项目生成输出详细信息:诊断


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

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

据我所知,关于如何构建项目的所有配置都存储在.cs_proj文件中。当您构建解决方案时,msbuild只是根据每个projects.cs\u proj文件中指定的规则构建每个项目。既然.CSJPRJ文件指定了.PDB文件,并将其放在与.exe相同的目录中,我就不知道为什么我在构建解决方案时会发生这种情况,而不是单独的每个项目。@杰夫:您的问题是指C++项目,但是这个评论是指C项目。您确定正在处理正确的生成配置吗?抱歉。我们做了大量的C和大量C++,我把这些扩展弄糊涂了。这些是.vcproj文件。因此,在将“详细性”设置为“诊断”后,是否可以发布生成输出?就是这样。非常感谢。