编译随机失败:“无法打开程序数据库”

在使用Visual Studio 2005(版本8.0.50727.762)进行长时间编译的过程中,我有时会在某些项目的几个文件中遇到以下错误:

致命错误C1033:无法打开程序数据库'v:\temp\apprtctest\win32\release\vc80.pdb'

(提到的文件是项目临时目录中的vc80.pdbvc80.idb

同一项目的下一次构建成功。没有其他打开的Visual Studio可以访问相同的文件

这是一个严重的问题,因为它使夜间编译变得不可能

有可能是防病毒软件或类似程序在写入时触碰了pdb文件-在这种情况下,防病毒软件最有可能是可疑的。根据我过去在本店设置夜间构建的经验,我恐怕只能给你一些一般性的建议。其中一些可能听起来很琐碎,但为了完成,我将它们包括在内

  • 首先也是最重要的:确保你一开始就一清二楚。也就是说,在开始夜间操作之前,强制删除生成的输出目录
  • 如果你有一个杀毒软件,反间谍软件或其他这样的程序在你的夜间机器上,考虑删除它们。如果这不是一个选项,请将您的obj文件夹添加到程序的排除列表中

  • (可选)考虑使用诸如VCuBug或MSBug之类的工具作为夜间的一部分。我认为如果您使用的是多核计算机,那么最好使用MSBuild。我们将IncredBuild用于夜间发布,将MSBuild用于发布,但从未遇到您描述的问题

如果其他方法都不起作用,您可以在构建开始几小时后安排一个看门狗脚本,并检查其状态;如果构建失败,看门狗应该重新启动它。这是一个丑陋的黑客,但总比没有强

发表评论