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

新手上路,请多包涵

在使用 Visual Studio 2005(版本 8.0.50727.762)进行长时间编译期间,有时在某些项目的多个文件中会出现以下错误:

 fatal error C1033: cannot open program database 'v:\temp\apprtctest\win32\release\vc80.pdb'

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

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

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

原文由 Lev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

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

  • 首先也是最重要的:确保你从一张白纸开始。也就是说,在开始 nightly 之前强制删除构建的输出目录。
  • 如果您的夜间机器上有防病毒、反间谍软件或其他此类程序,请考虑将其删除。如果这不是一个选项,请将您的 obj 文件夹添加到程序的排除列表中。
  • (可选)考虑使用 VCBuild 或 MSBuild 等工具作为夜间活动的一部分。如果您在多核机器上,我认为使用 MSBuild 会更好。我们将 IncrediBuild 用于 nightlies,将 MSBuild 用于发布,从未遇到您描述的问题。

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

原文由 Laur 发布,翻译遵循 CC BY-SA 2.5 许可协议

我刚刚遇到了这个问题,谷歌把我带到了这里。对我来说,是 Google Drive 在我尝试运行时同步我的项目文件。暂停 Google Drive 同步暂时解决了这个问题,但我宁愿 Google Drive 有一种方法可以在 Visual Studio 执行它的工作时不插手。如果有人知道我如何配置它,请告诉我

原文由 PianoMastR64 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题